python-3.x ジェネレータ generator - Pythonでの遅延評価




1 Answers

簡単に言えば、遅延評価は、オブジェクトが作成されたときではなく、必要なときに評価されることを意味します。

Python 2では、rangeがリストを返します。つまり、大きな数値を指定すると、範囲を計算し、作成時に戻ります。

>>> i = range(100)
>>> type(i)
<type 'list'>

しかし、Python 3では、特別な範囲オブジェクトを取得します。

>>> i = range(100)
>>> type(i)
<class 'range'>

あなたがそれを消費するときだけ、それは実際に評価されます - 言い換えれば、あなたが実際にそれらを必要とするときに範囲内の数値を返します。

使い方 yield 複数

Pythonで遅延評価とは何ですか?

あるウェブサイトが言った:

Python 3.xでは、 range()関数は、必要に応じてリストの要素を計算する特別な範囲オブジェクトを返します(遅延評価または遅延評価)。

>>> r = range(10)
>>> print(r)
range(0, 10)
>>> print(r[3])
3

これは何を意味していますか?




Related