python的高階語法 Python的一些高階語法

2021-10-16 15:40:48 字數 1233 閱讀 6120

一、python生成器

python生成器另乙個重要特性,就是能夠利用next函式與呼叫的**進行互動。yield變成了乙個表示式,而值可以通過名為send的新方法來傳遞:

def psychologist():

print('please tell me your problems')

while true:

answer = (yield)

if answer is not none:

if answer.endswith('?'):

print("don't ask yourself too much questions")

elif 'good' in answer:

print("ahh that's good, go on")

elif 'bad' in answer:

print("don't be so negative")

elif answer in ('q', 'quit'):

print("goodbye")

yield

return

else:

print("please continue")

if __name__ == "__main__":

print("starting psychologist session, type 'q' or 'quit' to end session")

freud = psychologist()

for phrase in freud:

problem = input("> ")

freud.send(problem)

二、for...else...語句

在for迴圈之後使用else子句,可以在迴圈「自然」結束而不是被break語句終止時執行乙個**塊。這一語法在某些情況下很有用,因為它有助於刪除一些「哨兵」變數,如果for語句自然結束時使用者想要儲存資訊,可能會需要這些變數。

for number in range(1):

break

else:

print("this will not be printed")

上面這段**無列印輸出,因為是被break語句終止的。

for number in range(1):

pass

else:

print("this will be printed")

該段**將輸出列印輸出,因為for語句是自然結束的。

Python高階語法

函式式 程式設計概念 要了解什麼是函式式程式設計 什麼是函式 這兩者的區別 高階函式的特點 能接收函式作為引數 注意 map 是 python 內建的高階函式,它接收乙個函式 f和乙個list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。reduce 函式也...

Python高階語法

最近重新看了網上的python教程,補充學習了一些之前用的較少的用法 字典 注意字典中 key 是亂序的,也就是說和插入 的順序是不一致的。如果想要使用順序一致的字典,請使用 collections 模組 中的 ordereddict 物件 迭代器 python 中的 for 句法實際上實現了設計模...

Python高階語法 函式

所謂函式就是乙個 塊,函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。二.匿名函式 三.map函式 四.reduce函式 五.filter函式 六.sort函式 七.幾種函式的舉例 def 函式名 引數 函式體 任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用於定義引數 傳的...