一个关于函数返回函数时遇到的错误,

def count():
    fs = []
    for i in range(1, 4):
        def f():
             return i*i
        fs.append(f)
    return fs


def count1():
    fs = []
    for i in range(1, 4):
        def f(i):
             return i*i
        fs.append(f)
    return fs

a=count()
b=count1()

a1=a[1]()
b1=a[1]()

'''
count函数和count1函数只有一处有区别,就是定义
内部函数的时候,一个有参数,一个无参数。这一点
区别直接导致了两者返回结果的截然不同,思考为什么
会这样'''

猜你喜欢

转载自www.cnblogs.com/saolv/p/9286943.html
今日推荐