資料型別
為了處理不同的資料,Python中定義了不同的資料型別
Python中的主要資料型別包括:
- 整數(int)
- 浮點數(float)
- 字串(str)
- 空值(None)
- 列表(list)
- 元組(tuple)
- 字典(dict)
- 集合(set)
整數
Python中的整數沒有大小限制,他可以處理任意大小的整數,包括正負數。 例如: 520
、-1314
、0
、9999999999
。
另外,Python中允許在較大數字之間使用下劃線進行分隔,例如:10_000_000_000
、0xa1b2_c3d3
。
浮點數
指的是在數字之間存在小數點的數。
相同的數字在科學計數法中可以使用不同方式進行表達。
較小的數字可以用小數進行表示,例如:1.1314
、5.20
。
但較大的數字就要使用科學計數法了,例如:1.2e-5
、5.2e13
、9.999e99
。
要注意的是,整數永遠是精確的,而浮點數可能會出現因四捨五入而導致的誤差。
字串。
由''
或""
括起來的資料叫做字串,而字串指的只是引號之內的數字或文字。
在Python中字串是可以進行相加的例如:'520'+ '1314' = '5201314'
。也就是將前後兩個字串連線在一起。
如果字串中出現'
或"
,可以使用\
對單雙引號進行轉義,也可以使用r' '
預設引號之內的符號全部轉義。
當要輸出多行內容時,可以使用''' '''
進行多行資料的輸出。
布林值
布林值只有True
和False
兩種,可以使用and
、or
、not
進行運算。
空值
所謂的空值指的就是None
。
列表
列表與C語言中的陣列有點像,但列表是可以同時儲存不同型別的資料,例如:list = [520,'abc','雲頂書院',2.035]
,並且在Python中可以透過一些函式對列表進行操作,十分便捷。
例如:
len()
可以獲得列表的長度pop()
可以刪除列表中的任意元素append()
可以在列表末尾進行元素的新增insert()
可以將元素插入到列表的指定位置- 也可以直接對列表某個位置的資料進行賦值,達到對資料進行替換的目的
要注意的是,列表是由[]
括住的
元組
元組就是在定義之後,不可以對其內元素做任何改變的列表。但不可改變指的是指向不變,就是tuple中的每個元素指向的物件不可以改變。
有利於資料的安全。
元組是由()
括住的
字典
字典的存在方便了對大量資料的檢索,字典採用鍵-值進行操作,即{key:value}
。
有優點就存在缺點,雖然字典節省了時間,但卻需要佔用大量的空間
有關字典的操作 :
- 訪問字典元素:透過鍵來訪問對應的值,例如:
dictionary['name']
。 - 新增元素:直接給字典的鍵賦值即可新增元素,例如:
dictionary['city'] = 'New York'
。但要注意的是,如果給同一個key賦不同的值,key只會記錄最後一個value。 - 修改元素:透過給已有鍵賦值來修改對應的值。
- 刪除元素:可以使用del語句或者
pop()
來刪除指定鍵的元素,例如:del dictionary['age']
,dictionary.pop(key)
。而當你刪除key時,對應的value也會被刪除。 key()
可以返回所有的key值value()
可以返回所有的value值items()
可以返回所有的鍵值對
我們還可以透過in
或get()
對字典中是否存在你需要的key進行判斷。如果不存在in
返回False
,get()
返回None
字典是由{}
括住的
要注意的是 :字典中的key值是不可變數,因此不可以使用列表來做key,而出去列表數字、字串、浮點數,甚至是tuple。
集合
可以透過{}
或set()
建立一個集合。集合是一種無序且不存在相同元素的資料結構。
在set()
中相同元素會被自動過濾
add(key)
可以向集合之中新增元素remove(key)
可以刪除集合之中的元素
集合可以透過數學中的交集,並集進行運算 :
>>> a1 = {1, 2, 3}
>>> a2 = {2, 3, 4}
>>> a1 & a2
{2, 3}
>>> a1 | a2
{1, 2, 3, 4}
操作
- 算術運算:加(+)、減(-)、乘(*)、除(/)等。
- 比較運算:大於(>)、小於(<)、等於(==)等。
- 邏輯運算:與(and)、或(or)、非(not)等。
- 字串操作:拼接、切片、查詢等。
- 列表操作:新增元素、刪除元素、遍歷等。
- 字典操作:新增鍵值對、獲取值、遍歷等。
- 集合操作:交集、並集、對稱差集、差集。
字串、列表與字典的操作上面已經提過,之後著重記一下切片操作
算術運算
- 加法(+):將兩個數或多個數相加。
- 減法(-):從一個數中減去另一個數。
- 乘法(*):兩個數或多個數相乘。
- 除法(/):一個數除以另一個數。注:除法的結果是浮點數,無論除數與被除數是整數還是浮點數。
- 雙除法(//):一個數除以另一個數,取結果的整數部分。
- 求餘(%):返回除法運算的餘數。
- 冪運算(^):表示一個數的幾次方。
比較運算
- 大於(>):判斷一個數是否大於另一個數。
- 小於(<):判斷一個數是否小於另一個數。
- 等於(==):判斷兩個數是否相等。
- 大於等於(>=):判斷一個數是否大於或等於另一個數。
- 小於等於(<=):判斷一個數是否小於或等於另一個數。
- 不等於(!=):判斷兩個數是否不相等。
邏輯運算
- 與(and):當兩個條件都為
True
時,結果為True
。 - 或(or):當兩個條件中至少有一個為
True
時,結果為True
。 - 非(not):對一個條件進行取反操作。
例如:
>>>print(True and True)
True
>>>print(True and False)
False
>>>print(False and False)
False
>>> print(2 > 1 and 3 > 2)
True
>>>print(True or True)
True
>>>print(True or False)
True
>>>print(False or False)
False
>>> print(2 > 1 or 3 > 2)
True
>>>a = false
b = not a
print(b)
True
集合操作
- 並集:使用
|
運算子或union()
方法。 - 交集:使用
&
運算子或intersection()
方法。 - 差集:使用
-
運算子或difference()
方法。 - 對稱差集:使用
^
運算子或symmetric_difference()
方法。
切片
切片是Python特有的一種特性,正是因為切片操作的存在使得在Python中對於字串、列表、元組、集合的操作,諸如倒序、去除其中一部分、取其中一部分甚至是每幾個取一個元素變得相當簡單。
list[a:b]
指的是在list[]
中從a
取到b
。如果第一個索引是0
,0
可以省略list[:b]
list[-1:-3]
指的是在list[]
中從最後一個取到倒數第三個。要記住的是最後一個元素的索引是-1
。list[:10:2]
指的是前十個數每兩個取一個。:2
指的是步長。例如:list[::10]
指的是從所有數中每十個數取一個。list[:]
指的是將list[]
重新複製一遍。
對於tuple和字串也是相同的操作。
另外切片前是什麼資料型別,切片後的資料型別不會改變。