码迷,mamicode.com
首页 > 编程语言 > 详细

Python_Tips[2] -> 函数延迟调用与变量值

时间:2018-01-07 14:09:22      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:log   pre   bsp   定义   循环   called   class   延迟   count   

函数延迟调用与变量值


 

在一个循环中定义了函数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()

 

Python_Tips[2] -> 函数延迟调用与变量值

标签:log   pre   bsp   定义   循环   called   class   延迟   count   

原文地址:https://www.cnblogs.com/stacklike/p/8227584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!