python學習筆記 Day 4

2022-08-23 21:03:10 字數 709 閱讀 5982

建立generator,第一種方法很簡單, 只要把乙個列表生成式的改成(),就建立了乙個generator:

>>> l = [x * x for x in range(10)]

>>> l

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

>>> g = (x * x for x in range(10))

>>> g

at 0x1022ef630>

定義generator的另一種方法。如果乙個函式定義中包含yield關鍵字,那麼這個函式就不再是乙個普通函式,而是乙個generator:

def fib(max):

n,a,b = 0,0,1

while n < max:

#print(b)

yield b

a,b = b,a+b

n += 1

return 'done'

generator和函式的執行流程不一樣。函式是順序執行,遇到return語句或者最後一行函式語句就返回。而變成generator的函式,在每次呼叫next()的時候執行,遇到yield語句返回,再次執行時從上次返回的yield語句處繼續執行。

Python學習筆記 Day4

4.1 類和物件 1.定義類 class 類名 class televison 定義乙個電視機 defwatch self print watching 這個電視機能看電視 2.建立物件 物件名 類名 sony televison 索尼這個牌子的電視機 使用watch功能 物件名.watch son...

Python學習筆記 Day4

在python中,and和or的用法有點奇怪,不想c 中的位運算和邏輯判斷公用 和 倘若兩側都為真,則返回右側的值,否則返回假 倘若兩側都為真,則返回左側的值,否則返回假 在c 中有形如?的三目運算子,然而在python中,三目運算是使用if和else達成的,例如 a if a b else b表達...

DAY4學習筆記

流程控制的三種語法 if 用於判斷條件,為了讓計算機可以像人一樣,具有判斷的能力。1 當運用if語法時,如果滿足條件則執行某程式,可以和else連用,即反之則執行另一程式。2 if可以和elif進行多分支使用,多分支時,一旦有某一條件滿足,則不繼續執行其他條件。3 if語句的巢狀,當滿足某一條件時,...