數據類型
2.1 整數 int
python可以處理任意大小的整數,當然也包括負數,在程序中的表示方法和數學上的寫法一樣,例如 1, 100, 200,-100等等
計算機由於使用二進制,所以,有時候用十六進制表示整數比較方便,十六進制用0x前綴和0-9,a-f表示
例如0xff00,0xa5b4,等等
2.2 浮點數
浮點數也會是小數,之所以稱爲浮點數,是因爲按照科學計數法表示時,一個浮點數的小數點位置是可變的,比如1.23x10九次方和12.3x10的8次方是完全相等的,浮點數可以用數學寫法,如1.23,3.14,-9.01,等等但是對於很大或者很小的浮點數就必須用科學計數法表示把10用e代替1.23x10的九次方就是1.23e9,0.000012可以寫成1.2e-5,等等
字符串
字符串是以單引號或者雙引號括起來的任意文本,如果字符串內部包含單引號或者雙引號。可以用戶\來轉義比如
>>> print('cao ' jiao ""yue"')
File"<stdin>", line 1
print('cao ' jiao " "yue"')
^
SyntaxError: invalid syntax
>>> print('cao \' jiao \"\"yue\"')
cao ' jiao " "yue"
>>>
如果字符串內部有很多換行,用\n寫就不好讀了。爲了簡化python允許用’’’……..’’’的格式表示多行
>>> print('''cao
... jiao
... yue''')
cao
jiao
yue
>>>
寫到文件裏就是
print('''cao
jiao
yue''')
2.3 布爾值
布爾值和布爾代數的表示完全一致,一個布爾值只有True、False兩種值,要麼是True,要麼是False,在python中可以直接用True和False表示布爾值,也可以通過布爾運算計算出來
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
>>>
條件成立時布爾值就是True
條件不成立時布爾值就是False
布爾值還可以用and、or、not運算。
2.3.1 and
and是與的意思,只有當條件都爲True的時候結果才爲True
>>> 3 > 5 and 1 > 2
False
>>> 3 > 2 and 1 > 2
False
>>> 3 > 2 and 4 > 2
True
>>>
2.3.2 or
or是或的意思,其中只要有一個運算結果爲True那麼結果就爲True
>>> 3 > 5 or 1 > 2
False
>>> 10 > 5 or 1 > 2
True
>>>
2.3.3 not
not是非的意思,True變False,False變True
>>> not 1
False
>>> not 0
True
>>> not False
True
>>> not True
False
>>>
0表示False,非零表示True
2.4 空值
空值是python裏一個特殊的值,用None表示。None不能理解爲0,因爲0是有意義的,而None是一個特殊的空值。此外python還提供了列表、字典、等多種數據類型,還允許創建自定義數據類型
2.5 變量
一個會變的量。變量不僅可以是數字還可以是任意數據類型
>>> a = 'abc'
>>> b = a
>>> a = 'caojiaoyue'
>>> b
'abc'
>>>
2.6 列表
python內置的一種數據類型是列表:list是一種有序的集合,可以隨時添加和刪除其中的元素。
比如,列出班裏所以學生的名字,就可以用一個list表示
>>> cao = ['cao','jiao','yue',100]
>>> cao
['cao', 'jiao', 'yue', 100]
>>>
變量cao就是一個列表
可以用len函數來查看他的元素的個數
>>> cao = ['cao','jiao','yue',100]
>>> cao
['cao', 'jiao', 'yue', 100]
>>> len(cao)
4
>>>
用索引來打印列表裏的每個元素
>>> print(cao[0])
cao
>>> print(cao[1])
jiao
>>> print(cao[0],cao[1])
('cao', 'jiao')
>>>
2.6.1 append
在列表的最後追加元素
>>> cao.append('cao')
>>> cao
['cao', 'jiao', 'yue', 100, 'cao']
>>> cao.append('liu')
>>> cao
['cao', 'jiao', 'yue', 100, 'cao', 'liu']
>>>
2.6.2 insert
在列表的指定位置插入元素
>>> cao.insert(0,'liu')
>>> cao
['liu', 'cao', 'liu', 'jiao', 'yue', 100, 'cao','liu']
>>> cao.insert(0,123)
>>> cao
[123, 'liu', 'cao', 'liu', 'jiao', 'yue', 100,'cao', 'liu']
>>>
2.6.3 pop
刪除一個列表裏的某個元素
>>> cao
[123, 'liu', 'cao', 'liu', 'jiao', 'yue', 100,'cao', 'liu']
>>> cao.pop()
'liu'
>>> cao.pop(1)
'liu'
>>> cao
[123, 'cao', 'liu', 'jiao', 'yue', 100, 'cao']
>>>
列表裏的元素也可以是另一列表
>>> cao[2] = ['liuwen', 'hucong']
>>> cao
[123, 'cao', ['liuwen', 'hucong'], 'jiao', 'yue',100, 'cao']
>>> cao[2][0]
'liuwen'
>>> cao[2][1]
'hucong'
>>>
因此cao就是一個二維數組
2.7 元組
另一種有序的列表叫元組,元組和列表非常相似,但是元組一旦初始化就不能修改,比如同樣是列出同學的名字:
>>> yue = ('cao','jiao','yue')
>>> yue
('cao', 'jiao', 'yue')
>>>
但是yue這個元組是不能改變了,它沒有append和insert這樣的方法。其他獲取元素的方法還是和列表一樣。你可以正常的使用cao[0],cao[-1],但是不能賦值其他的元素
tuple的陷阱:當你定義一個tuple時,在定義的時候,tuple的元素就必須被確定下來,比如
>>> t = (1,2,3)
>>> t
(1, 2, 3)
>>> len(t)
3
>>>
如果要定義一個空的在元組,可以寫成;
>>> t = ()
>>> t
()
>>>
但是,要定義一個只有1個元素的元組,如果你這樣定義:
>>> t = (1)
>>> t
1
>>>
別人怎麼知道1是表示是1這個值還是元素個數呀,爲了避免這樣的分歧,通常會加一個逗號
>>> t = (1,)
>>> t
(1,)
>>>
一個可變化的元組
>>> t = ('a', 'b', ['a', 'b'])
>>> t
('a', 'b', ['a', 'b'])
>>> t[2][0]
'a'
>>> t[2][0] = 'i'
>>> t
('a', 'b', ['i', 'b'])
>>>
表面上看元組的元素確實變了。但是變化的其實不元組的元素,而是列表的元素
小結
列表和元組是python內置的有序集合,一個可以變化,一個不可以變化,根據需要來選擇