Python3基本資料型別

2021-09-06 13:39:10 字數 4352 閱讀 1642

在python中,變數就是變數,它沒有型別,我們所說的"型別"是變數所指的記憶體中物件的型別。

python 3中有六個標準的資料型別:

python 3支援int、float、bool、complex(複數)。

數值型別的賦值和計算都是很直觀的,就像大多數語言一樣。內建的type()函式可以用來查詢變數所指的物件型別。

>>> a, b, c, d = 20, 5.5, true, 4+3j

>>> print(type(a), type(b), type(c), type(d))

注意:

python中的字串str用單引號(' ')或雙引號(" ")括起來,同時使用反斜槓(\)轉義特殊字元。

>>> s = 'yes,he doesn\'t'

>>> print(s, type(s), len(s))

yes,he doesn't 14

如果你不想讓反斜槓發生轉義,可以在字串前面新增乙個r,表示原始字串:

>>> print('c:\some\name')

c:\some

ame>>> print(r'c:\some\name')

c:\some\name

字串可以使用 + 運算子串連線在一起,或者用 * 運算子重複:

>>> print('str'+'ing', 'my'*3)

string mymymy

python中的字串有兩種索引方式,第一種是從左往右,從0開始依次增加;第二種是從右往左,從-1開始依次減少。

注意,沒有單獨的字元型別,乙個字元就是長度為1的字串。

>>> word = 'python'

>>> print(word[0], word[5])

p n>>> print(word[-1], word[-6])

n p

還可以對字串進行切片,獲取一段子串。用冒號分隔兩個索引,形式為變數[頭下標:尾下標]。

擷取的範圍是前閉後開的,並且兩個索引都可以省略:

>>> word = 'ilovepython'

>>> word[1:5]

'love'

>>> word[:]

'ilovepython'

>>> word[5:]

'python'

>>> word[-10:-6]

'love'

與c字串不同的是,python字串不能被改變。向乙個索引位置賦值,比如word[0] = 'm'會導致錯誤。

注意:

list(列表) 是 python 中使用最頻繁的資料型別。

列表是寫在方括號之間、用逗號分隔開的元素列表。列表中元素的型別可以不相同:

>>> a = ['him', 25, 100, 'her']

>>> print(a)

['him', 25, 100, 'her']

和字串一樣,列表同樣可以被索引和切片,列表被切片後返回乙個包含所需元素的新列表。詳細的在這裡就不贅述了。

列表還支援串聯操作,使用+操作符:

>>> a = [1, 2, 3, 4, 5]

>>> a + [6, 7, 8]

[1, 2, 3, 4, 5, 6, 7, 8]

與python字串不一樣的是,列表中的元素是可以改變的:

>>> a = [1, 2, 3, 4, 5, 6]

>>> a[0] = 9

>>> a[2:5] = [13, 14, 15]

>>> a

[9, 2, 13, 14, 15, 6]

>>> a[2:5] = # 刪除

>>> a

[9, 2, 6]

注意:

1、list寫在方括號之間,元素用逗號隔開。 2、和字串一樣,list可以被索引和切片。 3、list可以使用+操作符進行拼接。 4、list中的元素是可以改變的。

在同乙個字典中,關鍵字還必須互不相同。

>>> dic = {}  # 建立空字典

>>> tel =

>>> tel

>>> tel['jack'] # 主要的操作:通過key查詢

1557

>>> del tel['rose'] # 刪除乙個鍵值對

>>> tel['mary'] = 4127 # 新增乙個鍵值對

>>> tel

>>> list(tel.keys()) # 返回所有key組成的list

['tom', 'jack', 'mary']

>>> sorted(tel.keys()) # 按key排序

['jack', 'mary', 'tom']

>>> 'tom' in tel # 成員測試

true

>>> 'mary' not in tel # 成員測試

false

建構函式 dict() 直接從鍵值對sequence中構建字典,當然也可以進行推導,如下:

>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])

>>>

>>> dict(sape=4139, guido=4127, jack=4098)

另外,字典型別也有一些內建的函式,例如clear()、keys()、values()等。

注意:

集合(set)是乙個無序不重複元素的集。

基本功能是進行成員關係測試和消除重複元素。

可以使用大括號 或者 set()函式建立set集合,注意:建立乙個空集合必須用 set() 而不是 ,因為是用來建立乙個空字典。

>>> student = 

>>> print(student) # 重複的元素被自動去掉

>>> 'rose' in student # membership testing(成員測試)

true

>>> # set可以進行集合運算

...

>>> a = set('abracadabra')

>>> b = set('alacazam')

>>> a

>>> a - b # a和b的差集

>>> a | b # a和b的並集

>>> a & b # a和b的交集

>>> a ^ b # a和b中不同時存在的元素

字典(dictionary)是python中另乙個非常有用的內建資料型別。

關鍵字必須使用不可變型別,也就是說list和包含可變型別的tuple不能做關鍵字。

元組(tuple)與列表類似,不同之處在於元組的元素不能修改。元組寫在小括號裡,元素之間用逗號隔開。

元組中的元素型別也可以不相同:

>>> a = (1991, 2014, 'physics', 'math')

>>> print(a, type(a), len(a))

(1991, 2014, 'physics', 'math') 4

元組與字串類似,可以被索引且下標索引從0開始,也可以進行擷取/切片(看上面,這裡不再贅述)。

其實,可以把字串看作一種特殊的元組。

>>> tup = (1, 2, 3, 4, 5, 6)

>>> print(tup[0], tup[1:5])

1 (2, 3, 4, 5)

>>> tup[0] = 11 # 修改元組元素的操作是非法的

雖然tuple的元素不可改變,但它可以包含可變的物件,比如list列表。

構造包含0個或1個元素的tuple是個特殊的問題,所以有一些額外的語法規則:

tup1 = () # 空元組

tup2 = (20,) # 乙個元素,需要在元素後新增逗號

另外,元組也支援用+操作符:

>>> tup1, tup2 = (1, 2, 3), (4, 5, 6)

>>> print(tup1+tup2)

(1, 2, 3, 4, 5, 6)

string、list和tuple都屬於sequence(序列)。

注意:

python3 基本資料型別

整數 int 浮點數 float 1.23x10 9 寫成 1.23e9 整數和浮點數在計算機內部儲存的方式是不同的,整數運算永遠是精確的 除法難道也是精確的?是的!而浮點數運算則可能會有四捨五入的誤差 字串 str 字串是以單引號 或雙引號 括起來的任意文字,比如 abc xyz 等等。請注意,或...

Python3 基本資料型別

python中數字有四種型別 整數 布林型 浮點數和複數。int 整數 如 1,只有一種整數型別 int,表示為長整型,沒有 python2 中的 long。bool 布林 如 true。float 浮點數 如 1.23 3e 2 complex 複數 如 1 2j 1.1 2.2j python3...

python3基本資料型別

不可變資料 3 個 number 數字 string 字串 tuple 元組 可變資料 3 個 list 列表 dictionary 字典 set 集合 1 python3 元組 python 的元組與列表類似,不同之處在於元組的元素不能修改 2 python3 列表 序列是python中最基本的資...