第020讲:测试题第四题第五题的区别
原题如下4. 请问如何访问 funIn() 呢?
def funOut():
def funIn():
print('宾果!你成功访问到我啦!')
return funIn()5.请问如何访问 funIn() 呢?
def funOut():
def funIn():
print('宾果!你成功访问到我啦!')
return funIn
思来想去
我的问题是:没搞懂 funIn 后面加与不加()的区别在哪里
在看视频和看第五题时我的第一反应都是觉得会报错
我是这么理解的
1.函数在定义时需要带()
2.因第五题返回funIn没有带() ,所以python会觉得funIn不是函数而是变量,而且这个变量在之前没有被定义从而报错.
但上机看来不是
纯小白想不通我理解错在哪{:10_266:}
有大牛能答疑一下吗
r
不带()是函数名,带()是函数方法
返回的值应该是不一样的吧
def funOut():
def funIn():
print('宾果!你成功访问到我啦!')
return funIn
print(funOut())
print()
def funOut():
def funIn():
print('宾果!你成功访问到我啦!')
return funIn()
print(funOut())
<function funOut.<locals>.funIn at 0x0316EDF0>
宾果!你成功访问到我啦!
None 函数名后面加()表示函数的调用,即函数的执行结果;不加,表示函数对象本身
页:
[1]