python中generation生成器中的send()方法的理解
在函數內部使用yield定義,這個函數就是一個生成器函數。
調用生成器函數的時候會返回一個生成器對象。
生成器函數內部,使用yield可以產生數據。
生成器對象內還有一個方法send,send方法可以由外部向內部進行傳值。

執行過程:
當執行gen=MyGenerator()會直接生成返回一個生成器對象gen
當第一次執行next函數的時候,遇到yield 1,就返回1,停止執行。因此print(1)打印。
當執行gen.send的時候進入到生成器中,執行yield 1的下一步,賦值操作value = ,這個時候把send送進來的值‘i am value’賦值給value=‘i am value’
接著執行yield value,這個時候返回value值‘i am value’,停止執行。因此打印print(‘i am value’)

浙公網安備 33010602011771號