python學習
有所幫助。
def generator():
while true:
receive=yield 1
print('extra'+str(receive))
g=generator()
print(next(g))
print(g.send(111))
print(next(g))
輸出:1
extra111
1extranone
1為什麼會這樣呢,點進send就能看到一句話
send:resumes the generator and "sends" a value that becomes the result of the current yield-expression.
就是說 這裡yield 1整體被視為乙個表示式,你send的內容會作為這個表示式的值,隨便你左邊用什麼東西接收或者不接收,總之yield就是你send進來的那個東西。這個表示式變成你send進來後的東西後繼續執行,再次遇到yield,輸出yield後面跟著的表示式。
當然通常使用的話都不會輸出乙個常量,會輸出乙個和接收到的東西相關的量,不然豈不是白白傳送了。
Python之生成式
1.集合的生成式 一般格式 1 將集合中的每乙個元素分別平方 此時輸出的是乙個物件 print i 2 for i in 轉換為集合,集合會自動去重 2 將集合中是3的倍數的所有元素分別平方 2.列表的生成式 一般格式 表示式 for i in 列表序列 if 1 找出1 10之間的所有偶數,並返回...
Python之字典生成式
1.假設有20個學生,名字為westosx,學生分數在60 100之間,篩選出成績在90分以上的學生 import random stuinfo for i in range 20 name westos str i score random.randint 60,100 stuinfo name ...
python 列表生成式的學習
看個例子 定義乙個列表 l 1,2,3,4,5 用於建立乙個list,結果依次返回列表l的元素的平方,返回list s i i for i inl 列印列表s print s 用於建立乙個生成器,結果依次返回列表l的元素的平方,返回generator s1 i i for i inl 以列表形式列印...