一起學python教程(6) python數據類型

#!/usr/bin/python3# 開始學習python3的Number類型# Number類型包括int,float,bool,complexa=1; #intb=1.2; #floatc=True; #boold=1+2j; #complex# type()函數是輸出變數的類型print(type(a),type(b),type(c),type(d));

Python3中有六種基本數據類型:

  • Number(數字)

  • String(字元串)

  • List(列表)

  • Tuple(元組)

  • Set(集合)

  • Dict(字典)

他們之前有什麼區別?聯繫?直接上圖:

Advertisements

按照圖示的分類,開始學習吧。(python3)

Number(數字類型)

Python3 支持intfloatboolcomplex(複數)。在Python3里,只有一種整數類型 int,表示為長整型,沒有 python2 中的Long。像大多數語言一樣,數值類型的賦值和計算都是很直觀的。內置的 type() 函數可以用來查詢變數所指的對象類型。

其中int表示方式:10進位,2進位(0b),8進位(0o),16進位(0x)

  • bin()將其他進位轉為2進位

  • int()將其他進位轉為10進位

  • oct()將其他進位轉為8進位

  • hex()將其他進位轉為16進位

int的運算

Advertisements

# python3 int的運算>>> a=1;>>> b=2;>>> a+b;>>> a-b; # 減法>>> a*b; #乘法>>> a/b; #除法>>> a//b; # 取整>>> a%b; #取余>>> a**b; #乘方>>>

注意/和//的區別:

前者是除法,得到的結果是浮點數。

後者是整除,得到的結果是整數,相當於取/結果的整數部分。

>>> 1+3.44.4>>>

在混合計算中,結果是浮點數。

bool類型:True,False (注意大小寫)

注意:在 Python2 中是沒有布爾型的,它用數字 0 表示 False,用 1 表示 True。到 Python3 中,把True 和 False 定義成關鍵字了,但它們的值還是 1 和 0,它們可以和數字相加。

Python還支持複數,複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示,複數的實部a和虛部b都是浮點型

字元串

使用成對的單引號或者雙引號表示,使用反斜杠(\)來轉移=轉義特殊字元。

>>> str="tsl521">>> str[0]'t'>>> str[1]'s'>>> str[0:-1]'tsl52'>>> str[0:]'tsl521'>>> str[:-1]'tsl52'>>> str[-1]'1'>>> str*2'tsl521tsl521'>>> str+"233"'tsl521233'>>>

總結:字元串支持加法(+)和乘法(*)運算。字元串支持索引,索引從0開始。(從左往右以0開始,從右往左以-1開始),使用反斜杠(\)轉義特殊字元,如果你不想讓反斜杠發生轉義,可以在字元串前面添加一個r,表示原始字元串:

>>> print('gg\ntsl')ggtsl>>> print(r'gg\nshsg')gg\nshsg>>>

注意,字元串是不可變的。下面的就報錯了

>>> str="ITstudy";>>> str[0]="f";Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'str' object does not support item assignment>>>

List

是python使用頻率很多的類型。使用[]來表示,裡面可以填充任何類型。

也存在列表的嵌套使用。支持索引,下邊從0開始,類比str。List的值是可以改變的。List支持加法(+)和乘法(*)運算。不支持減法

Tuple

元組與List類似,不同的地方時,元組的元素不可以改變,使用()表示。

雖然tuple元素不可以改變,但是它可以包含可變對象,比如List

>>> list=["11","tsl",34];>>> tuple=("23",45,list);>>> tuple('23', 45, ['11', 'tsl', 34])>>>

Set集合

是一個無序不允許存在重複元素的集合。想想數學里的集合,-,^,|,&運算就好理解了。基本功能是進行成員關係測試和刪除重複元素。可以使用大括弧{ } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因為 { }是用來創建一個空字典。

#!/usr/bin/python3student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}print(student) # 輸出集合,重複的元素被自動去掉# 成員測試if('Rose' in student) : print('Rose 在集合中')else : print('Rose 不在集合中')# set可以進行集合運算a = set('abracadabra')b = set('alacazam')print(a - b)# a和b的差集print(a | b) # a和b的並集print(a & b) # a和b的交集print(a ^ b) # a和b中不同時存在的元素

以上輸出

Rose 在集合中{'b', 'a', 'c', 'r', 'd'}{'b', 'd', 'r'}{'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'}{'a', 'c'}{'l', 'r', 'z', 'm', 'b', 'd'}

dic字典

以key,value的形式存在,大家應該不陌生吧。字典當中的元素是通過鍵來存取的。字典是一種映射類型,字典用"{}"標識,它是一個無序的鍵(key) :值(value)對集合。鍵(key)必須使用不可變類型。在同一個字典中,鍵(key)必須是唯一的。另外,字典類型也有一些內置的函數,例如clear()、keys()、values()等。

結語

python基本數據類型掌握了沒?動手去實踐吧。當然這只是冰山一角,在實際開發中肯定會遇到坑,踩坑中...

IT充電空間關注這個號的你,可以說很優秀了

Advertisements

你可能會喜歡