Day4 Python 基础教学 (三)

介绍完一些基础的语法之後,来做个 python 型别的介绍,

型别介绍

内建型别

python 有内建四种型别,

分别为:

  • 布林 ( bool )
  • 整数 ( int )
  • 浮点数 ( float )
  • 字串 ( str )
而对他们简单做个介绍:

布林值 bool 这个型别就代表着 真 True 或 假 False 是控制流程的好帮手,
整数 int 这个型别就是不带小数点的数,例如 123 就是个整数,
浮点数 float 相较於整数,浮点数就是有带小数点的数,例如 123.124 是浮点数,
字串 string 字串就是我们一般在使用的文字,使用方式就是用单或双引号把内容包起来,
所以'123.123'则是字串不是浮点数。

而内建型别是可以进行型别转换的,
例如:
>>> text1 = '123'
>>> text2 = int(text1)
>>> print(text2)
123

我们首先定义 text1 为 '123' 型别为字串,
再来我们将 text2 定义成 把 text1 转换成 int 型别,
接下来输出便会是一个整数 123 。
其他的一通百通,
型别转换简单来说就是将想转换的元素括号起来转换成想转换的型别,
变数名称 = 想转换的型别(元素) ,大概这样。

集合型别

集合型别有下列五种:

  • Numbers(数字)
  • String(字串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

String(字串)

字串是 Python 中最常用的数据类型。
可以使用单引号 '' 或双引号 "" 来创建字串,
创建字串很简单,只要为变量分配一个值即可。

例如:

>>> string1 = "abc"
>>> print(string1)
abc

>>> string2 = '123'
>>> print(string2)
123

而在python中,我们可以透过[]来截取自己想要的部分,
假设我们想要新增一个字串 test1 并将它定义为 测试用 ,
但在实际输出时,只想输出『用』,那我们能这样做,

>>> test1 = "测试用"
>>> print(test1[2])
用

可看见我们 print(test1[]) 中的方框,数值为2,
按造常理的运算,对应 2 的文字应为『试』,但在程序语言中,
数数值通常由 0 开始,由此为运算,恰可知晓,
>>> test1 = "测试用"
             0 1 2
计算方式应为如此。

而字串除了截取,亦可进行连接,
>>> print(test1 + string1)
测试用abc

只要在括号内将两个字串变数名做 + 即可连接字串。

更多用法:

https://www.runoob.com/python/python-strings.html

List(列表)

序列是Python中最基本的数据结构。
序列中的每个元素都分配一个数字即它的位置或索引,
第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内建类型,但最常见的是列表 (List) 和元组 (Tuple)。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内建查询序列的长度以及确定最大和最小的元素的方法。

创建一个列表,只要用逗号分隔不同的数据并使用方框括起来即可。
如下所示:

>>> list1 = [ 1 , 2 , 3 , 4 , 5 ]
>>> print(list1)
[1, 2, 3, 4, 5]

>>> list2 = ['dog','cat','bird']
>>> print(list2)
['dog', 'cat', 'bird']

List中可拥有数值、字串,
而当使用者想取得List中的值,则可这样使用,
>>> print(list2[0])
dog
>>> print(list2[2])
bird

由此可看出,List中取值与截取的方式概念共通,
取值的基准点都是由 0 开始数,
而List比较特别的一点是它可以进行更新删除,
假设我们今天有一个 List3 = ['test'] 
更新:
>>> list3.append('newword')
>>> print(list3)
['test', 'newword']

我们可以透过 .append 这个方式来为列表新增一个值,
而删除的概念很雷同,
删除:
>>> del list3[1]
>>> print(list3)
['test']

当我们使用 del 并指定 list 某一位置时,便可删除该指定位置之值,
上述例子中列表原有 test 即 newword , 我们指定位址为 1 之值进行删除,
便只剩下 test 。

List 的操作还有许多种,
譬如:
len() 是用於算出该列表的长度,
>>> len(list1)
5

List可透过 + 号来将不同数值的 List 来进行组合,
>>> list4 = list1 + list2 
>>> print(list4)
[1, 2, 3, 4, 5, 'dog', 'cat', 'bird']

或者查询特定数值或字串是否存在於列表当中,
>>> print('dog' in list4)
True

除此之外,列表还有许多实用的用法,例如:

test_list = ["dog","cat"]

index()方法,
可以将要寻找的串列元素传入,它会回传该元素的位置索引值,
print(test_list.index("cat"))

count()方法,
则是可以计算该元素於列表中的个数,
print(test_list.count("cat"))

更多用法:

https://www.runoob.com/python/python-lists.html

Tuple(元组)

在Python中,元组与列表很类似,概念不同之处在於元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组创建很简单,Tuple只需要在小括号内新增元素即可创建元组,

>>> tuple1 = ('1','2','3')
>>> tuple2 = ('dog','cat')
>>> print(tuple1)
('1', '2', '3')
>>> print(tuple2)
('dog', 'cat')

如此便完成了创建一个元组,
在介绍中我们提到元组是不能进行修改的,但它可以被组合成新的一个元组,
例如:
>>> tuple3 = tuple1 + tuple2
>>> print(tuple3)
('1', '2', '3', 'dog', 'cat')

如同列表与字串一样,但在 python 中,运用 + 号,便可将大多类型进行组合了,
附注一点,
元组(Tuple)虽然不能被修改,但是,是可以被整个删除的,可是不能只删除一个数值,
例如:
>>> del tuple3
>>> print(tuple3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tuple3' is not defined

如此便会产生 NameError 告诉说 tuple3 没有被宣告。
而元组的 len() 与相关用法与列表相同,就不多做介绍。

更多用法:

https://www.runoob.com/python/python-tuples.html

Dictionary(字典)

字典是另一种可变容器模型,且可存储任意类型对象。
字典中的每个键值 key to value 都用冒号 : 来做分隔,
每个键值之间用逗号 , 分隔, 整个字典包括在 括号 {} 中,

格式如下所示:
>>> dict1 = { 'a' : 1 , 'b' : 2 , 'c' : '3' }
>>> print(dict1)
{'a': 1, 'b': 2, 'c': '3'}

上述的例句中,key 为 a , b , c , value 为 1 , 2 , 3 ,
大多情况下 key 通常为 : 冒号前方之值,且 key 是唯一的,
如果 key 有重复的状况,後者的数值会取代前者的数值,
例如:
>>> dict2 = {'a':1 , 'a':2}
>>> print(dict2)
{'a': 2}

整个 Dictionary 可理解为 a 为 1 , b 为 2 如此,
所以当然的 a 不可能同时为 1 又为 2 ,
在字典中值可以为任何数据类型,但 key 必须是不可变的,如字符串,数字或元组。

而字典中要取特定的数值相较於其他的数据类型是较为简单的,
例如我们定义一个 dict4 = { 'name':'apple' , 'age':'18'}
当我们想知道 name 为何时,便可将对应之 key 输入,
>>> print(dict4['name'])
apple

便会得到对应数值为何,如果当要寻找的数值不存在於字典当中,
就会回报 keyError ,

字典同样是允许被新增删除修改的,
其余的用法如 len()等与元组列表也大概相同,便不多做介绍。

更多用法:

https://www.runoob.com/python/python-dictionary.html

好,真的好多字,部分内容来源整理至网上资料,
对於型态也有补充及示例,
大家看完做完应该也累了吧 XDDD,

那今天推荐的歌曲是 郑兴 的 城南,
https://www.youtube.com/watch?v=sOome7baXD0&list=PLZ_d6NX2sE80hzNRr9aQD06aJkRc0oxVU&index=8&ab_channel=%E9%84%AD%E8%88%88XingZheng


<<:  Day04-管理 Docker 的各种组合(Docker Compose)

>>:  [Day04] Vue i18n - Pluralization

Re: 新手让网页 act 起来: Day11 - React Hooks 之 useState (2)

在上一篇介绍了使用 hooks 的基本规则,以及 useState 的使用方式。今天来针对 init...

软件测试覆盖率分析(测试粒度最细)-表达式(expressions)和决策结构

颗粒可视为测量单元。当我们说我们的软件被测试了50%,或者测试覆盖率是50%,这到底是什麽意思,因为...

Day14-Go函式function

前言 在此篇文章之前,大部分的程序码都是建立在主函式 (main function) 中,但随着需求...

【Day 7】GIT版本还原及回归

说明:分支的版本还原 还原前1个版本指令 git reset HEAD^ ^可以决定要还原到哪一版,...

介绍Vertex(3) | ML#Day20

Mail 通知 训练好模型之後,Google会主动发mail通知。 训练失败 其实有可能训练一半就失...