闭包函数之函数加括号和不加括号的意义


import time

# 闭包函数
def outer():
    x = 100

    def inner():
        print(x)

    return inner


fun = outer()

print(fun)  #函数不加括号,调用的是函数本身【function】
# <function outer.<locals>.inner at 0x0000000001F151E0>

time.sleep(5)
fun()       #函数加括号,调用的是函数的return结果。
time.sleep(5)
print(fun())    #函数自带返回值None

time.sleep(3)
fun()

func(1)    #这个会报错,因为func()代表的是函数的运行结果,这个1 什么也不是

猜你喜欢

转载自www.cnblogs.com/ludundun/p/11518695.html