def count(): fs = [] for i in range(1, 4): def f(i): def g(): return i*i return g fs.append(f(i)) return fsf1, 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}一个道理。哎不知道说的明白不?!!!
添加回答
举报
0/150
提交
取消