學習python,從入門到放棄(4)
學習python,從入門到放棄(4)
基本資料型別
-
dict型別
字典型別是不同於列表的另一種可變容器模型,也可儲存任意型別物件。
字典的每個鍵值 key=>value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中 。
d = {key1 : value1, key2 : value2 }
dict 作為 Python 的關鍵字和內建函式,變數名不建議命名為 dict。鍵一般是唯一的,如果重複最後的一個鍵值對會替換前面的,值不需要唯一。
字典是不支援索引取值的,因為字典內部是無序的。
-
set型別
集合是無序和無索引的容器模型,因為無索引所以無法引用索引來訪問集合中的專案,但是可以使用for
該資料型別功能很單一,並且後續使用頻率較低,一般用於去重或者關係運算。
thisset = {"apple", "banana", "cherry"}
由type函式可以得知,如果花括號內為空,則預設定義為dict字典型別。
-
tuple型別
元組型別與列表型別幾乎一致,區別是元組型別一般用於儲存不可更改的資料,所以它也叫不可變列表。
元組建立很簡單,只需要在括號中新增元素,並使用逗號隔開即可。
tup1 = ('physics', 'chemistry', 1997, 2000) tup2 = (1, 2, 3, 4, 5 ) tup3 = "a", "b", "c", "d"
注意:元組中只包含一個元素時,需要在元素後面新增逗號。
tup1 = (50,)
它與列表一樣支援索引取值,但是裡面的元素不能被更改。
-
bool型別
布林型別也就是邏輯型別,一般用於邏輯運算,它只有兩個狀態
True和False,在python中所有的資料在進行邏輯判斷的時候都會轉成布林值,布林值預設為False的資料0、None、空字串、空列表、空字典...其餘都為True。
對於布林值的變數名,一般以is開頭。
is_right = True is_delete = False is_alive = True
使用者互動
-
input 輸入
用於獲取使用者的輸入資料並將其轉換為字串。
-
print 輸出
之前我們一直都在使用的print()。用於輸出資料,支援所有的資料型別。
格式化輸出
我們都收到過這樣的簡訊
觀察可以發現,每個月發來的簡訊格式是一樣的,其實這就是使用了格式化輸出的效果,那麼在python中如何實現呢?
非常的簡單,只要使用佔位符就好啦。
-
%d代表數字佔位符,代表int整型,只能傳遞十進位制整數
-
%s代表字串佔位符,代表string字串
-
%f代表浮點,預設保留6位小數位,而第7位根據四捨五入取值
-
%r萬能統配符(可以將後面給的引數原樣打印出來,帶有型別資訊)
參考地址:地址
運算子
除了我們平時所熟知的加(+)、減(-)、乘(*)、除(/)以外,python還具有整除(//)、取餘(%)、等於(==)等運算子,為了讓程式碼看起來更加簡潔,還有
-
增量賦值 (+=)、(-=)、(*=)、(/=)
x += 100 # x = x + 100 x -= 100 # x = x - 100 x *= 100 # x = x * 100 x /= 100 # x = x / 100
-
鏈式賦值
x = y = z = 100 ''' x = 100 y = x z = x '''
-
交叉賦值
m, n = n, m ''' tmp = m m = n n = tmp '''
-
解壓賦值
name_list = ['jason', 'kevin', 'tony', 'jerry'] name1, name2, name3, name4 = name_list
正常情況下 左右兩邊的變數名和值個數要相等,不然則會報錯。
但是也有打破限制的方法。只要將剩下的元素找容器存放就可以了。
甚至可以取中間元素。
(單獨的下劃線作為變數名,意思是為了符合語法,但是指向的值用不到的情況,屬於約定俗成的規則)
邏輯運算子
-
and 與
當連線的條件全部滿足時,結果才是True。
True and True 結果為 True
True and False 結果為 False
False and True 結果為 False
False and False 結果為 False
-
or 或
當連線的條件有一個滿足時,結果就為True。
True or True 結果為 True
True or False 結果為 True
False or True 結果為 True
False or False 結果為 False
-
not 非
反轉條件。
not False 結果為 True
not True 結果為 False
它們之中與加減乘除一樣擁有優先順序的概念,但是我們在編寫時應當用括號將其強制規定好它的順序。
(3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
成員運算、身份運算
-
成員運算 in
用於判斷某個個體在不在某個群體內
name_list = ['jason', 'kevin', 'tony', 'oscar', 'jerry', 'owen', 'tank'] print('jason' in name_list) # True print('jason' not in name_list) # False
-
身份運算 is ==
== 用於判斷兩個變數的值是否相同。
1 == 1 # Ture 1 == 2 # False
is 用於測試兩個變數是否引用同一物件。
如果兩個物件是同一物件,則 test 返回 True。
如果兩個物件不是同一物件,即使兩個物件 100% 相等,test 也會返回 False。
x = ["apple", "banana", "cherry"] y = x print(x is y) # True x = ["apple", "banana", "cherry"] y = ["apple", "banana", "cherry"] print(x is y) # False
eg:pycharm具有將兩個值相同的元素存放與同一空間,用於騰出記憶體的功能所以當兩個值相同的元素is的時候會返回True。
在cmd中則不會。
總結
以上是今天做學的內容,開始出現了以前未學習過的內容,也有一些舊內容所忽略的東西,總體而言收穫頗豐。