函数延迟调用与变量值
在一个循环中定义了函数f但是并未对其进行调用,在循环结束后调用,此时i值为3故最终3个函数输出均为9。
1 import dis 2 3 def count(): 4 fs = [] 5 for i in range(1,4): 6 def f(): 7 return i*i 8 fs.append(f) 9 return fs 10 11 def run(): 12 f1, f2, f3 = count() 13 # When the function called, the value of i is 3 14 print(f1()) 15 print(f2()) 16 print(f3()) 17 18 # dis.dis(count) 19 run()
原文地址:https://www.cnblogs.com/stacklike/p/8227584.html
时间: 2024-10-08 11:00:39