遅延評価はいつですか? (ジェネレータ、if、iterator?)、 レイトバインディングはいつですか? (閉鎖、正規の機能?)遅延評価とPythonの遅延バインド?
a = [1,2,3,4]
b = [lambda y: x for x in a]
c = (lambda y: x for x in a) #lazy evaluation
d = map(lambda m: lambda y:m, a) #closure
for i in b:
print i(None)
# 4 4 4 4
for i in c:
print i(None)
# 1 2 3 4
for i in d:
print i(None)
# 1 2 3 4
さて、あなたはのpython3を使用している情報を評価され、マップがdとcは同じである理由であるイテレータを返します –
私はpython2.7を使用しています、dは –
QuantumEnergy