一、  类型1:

  类型:func(x):函数在for循环生成迭代对象时,i的取值范围

  
# 普通实现方法:
for i in range(3):
    def func(x):
        print(x*i)
    func(2)  # 0 2 4


# 面试题方法:
li = []                   # [func,func,func]
for i in range(3):
    def func(x):
        print(x*i)
    li.append(func)

for func in li:
    func(2)   # 4 4 4


# 更改方法:
li = []                   # [func,func,func]
for i in range(3):   # i = 0 1 2
    def func(x, y=i):  # 每次开辟一个内存空间,把每次的i作赋值 y=i
        print(x*y)
    li.append(func)

for func in li:
    func(2)   # 0 2 4
View Code

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!