def count():
fs = []
for i in range(1, 4):
def f(i):
def g():
return i*i
return g
fs.append(f(i))
return fs
f1, f2, f3= count()
print f1(), f2(), f3()
很多人,对于f1, f2, f3= count()这一句很疑惑。这句话的意思是把count()返回的list中的三个值分别赋给f1,f2,f3
而不是把count返回的list分别赋给f1f2f3.
我一开始也烦了这样的毛病,原因就是Java、C#、C++语音留下的思维定式。
f1, f2, f3= count()这一句等价于
a,b,c=[1,2,3]此时a=1,b=2,c=3只是把list中的值分别取出来。如同for key,value in {'key',vaule}一个道理。哎不知道说的明白不?!!!
相关分类