Pythonのジェネレーターを理解する
Pythonジェネレーターの世界を掘り下げることができます。 Javaのスレッドモデルとは異なり、Pythonのジェネレーターは明確な目的を果たします。呼び出されると、ジェネレーターは一度に1つの値のシーケンスを生成します。メモリにシーケンス全体を計算して保存する代わりに、ジェネレーターは需要のある値を生成します。 収量n evel n 1
calling my_gen(6)は、繰り返されると値6と7を生成するオブジェクトを作成します: g = my_gen(6) 次(g) #出力:6 次(g) #output:7
for loopsは自動的に次に呼び出し、シーケンスを簡単に繰り返すことができます:
for n in my_gen(6): 印刷(n) #出力: #6 #7
def my_gen(n): yield n yield n 1ジェネレーターの利点
g = my_gen(6) next(g) # Output: 6 next(g) # Output: 7
for n in my_gen(6): print(n) # Output: # 6 # 7ジェネレーター特定の概念を説明し、戻る冗長関数の必要性を排除する方法lists。これは、それ以外の場合はメモリを圧倒するデータストリームを扱う場合に特に役立ちます。たとえば、フィボナッチ数は無期限に生成できます:
def fib(): a、b = 0、1 本当です: 降伏a a、b = b、a b
結論
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3