Fun()和Fun有什么区别呢?
def Fun1():x = 5
def Fun2()
x *=x
return x
return Fun2---------------------------------Fun2()
请问上面的例子中“Fun2”和“Fun2()”有什么区别,为什么不打括号可以访问?
谢谢 值和址的区别
不带括号返回函数地址
带括号返回函数值 本帖最后由 逃兵 于 2021-2-10 07:36 编辑
首先,你写的函数有错误
修改代码
def Fun1():
x = 5
def Fun2():
nonlocal x
x *=x
return x
return Fun2
不带括号的话,返回的是函数本身,带括号返回的是函数执行结果
>>> a=Fun1()
>>> a()
25
>>> a()
625
>>> a()
390625
>>>
>>> Fun1()()
25
>>> Fun1()()
25
>>> Fun1()()
25
>>> Fun1()
<function Fun1.<locals>.Fun2 at 0x00000000030B2A68> 逃兵 发表于 2021-2-10 07:35
首先,你写的函数有错误
修改代码
谢谢,解答详细
页:
[1]