python學習筆記

2021-09-16 21:21:09 字數 1703 閱讀 1650

在類中定義方法的形式和函式差不多,但其不稱為函式,而是叫方法。方法的呼叫需要繫結到特定的物件上(通過self.),而函式不需要。

input()返回的資料型別是str,str不能直接和整數比較,必須先把str轉換成整數。python提供了int()函式

range()函式,可以生成乙個整數序列,再通過list()函式可以轉換為list。比如range(5)生成的序列是從0開始小於5的整數:list(range(5)

和list比較,dict有以下幾個特點:

查詢和插入的速度極快,不會隨著key的增加而變慢;

需要占用大量的記憶體,記憶體浪費多。

而list相反:

查詢和插入的時間隨著元素的增加而增加;

占用空間小,浪費記憶體很少。

所以,dict是用空間來換取時間的一種方法。

dict可以用在需要高速查詢的很多地方,在python**中幾乎無處不在,正確使用dict非常重要,需要牢記的第一條就是dict的key必須是不可變物件。在python中,字串、整數等都是不可變的,因此,可以放心地作為key。而list是可變的,就不能作為key:

set和dict的唯一區別僅在於沒有儲存對應的value,但是,set的原理和dict一樣,所以,同樣不可以放入可變物件,因為無法判斷兩個可變物件是否相等,也就無法保證set內部「不會有重複元素」。

如果想定義乙個什麼事也不做的空函式,可以用pass語句:

def nop():

pass

python的函式返回多值其實就是返回乙個tuple

定義預設引數要牢記一點:預設引數必須指向不變物件!

可變引數允許你傳入0個或任意個引數,這些可變引數在函式呼叫時自動組裝為乙個tuple。而關鍵字引數允許你傳入0個或任意個含引數名的引數,這些關鍵字引數在函式內部自動組裝為乙個dict。

和關鍵字引數**kw不同,命名關鍵字引數需要乙個特殊分隔符*,*後面的引數被視為命名關鍵字引數。

預設情況下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同時迭代key和value,可以用for k, v in d.items()。

寫列表生成式時,把要生成的元素x * x放到前面,後面跟for迴圈,就可以把list建立出來

物件導向:乙個有諸多技能的工人,可以讓這個工人去幹很多事情

函式式程式設計:一群只有單個技能的工人,可以讓他們同時出動去幹一件複雜的事情

高階函式:乙個工人必須依靠下乙個工人的技能才能完成工作。

python教學筆記 python學習筆記(一)

1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...

python學習筆記

coding utf 8 coding utf 8 應該像八股文一樣在每個指令碼的頭部宣告,這是個忠告 為了解決中文相容問題,同時你應該選擇支援 unicode 編碼的編輯器環境,保證在執行指令碼中的每個漢字都是使用 utf 8 編碼過的。cdays 5 exercise 3.py 求0 100之間...

Python 學習筆記

python 學習筆記 def run print running.def execute method method execute run result running.condition false test yes,is true if condition else no,is false ...