Python 函数求助
def funX():x = 5
def funY():
nonlocal x
x += 1
return x
return funY
a = funX()
print(a())
print(a())
print(a())
def funX():
x = 5
def funY():
nonlocal x
x += 1
return x
return funY()
a = funX()
print(a)
print(a)
print(a)
这俩结果前面一个是6 7 8后面是6 6 6
一个funY没括号 一个有括号 a 也是
求告知这俩括号的作用 以及结果为啥不一样 def funX():
x = 5
return x
a = funX # 把funX的地址赋给a
print(a) # 打印出来是个地址
print(a()) # 让a来加()。打印出了值
# 终上所述 加()就是取函数返回的值,不加便是获取地址。闭包(函数里面嵌套函数道理一样)
# 再看
a = funX() # 在调到时就加上(),意思就是把funX返回的值赋值给a
print(a)
# 以下2个功能一样,获取方法不同
a = funX
print(a())
a = funX()
print(a)
页:
[1]