访问函数问题
第一个访问,funout并没有返回值对吧,只是funin返回了一个funin方法,第二个out一样没有返回值,给funin返回了一个值,想先确认前面说的对不对,然后就是为什么去掉return,就打印不出来了,我试过不嵌套函数不返回值可以打印,全乱了,希望大佬能从头挨个解答请问如何访问funin函数?
def funout():
def funin():
print('bingo,你成功访问到我了')
return funin()
直接利用funout()就可以访问了
请问如何访问funin函数呢?
def funout():
def funin():
print('bingo,你成功访问到我了')
return funin
funout()()进行访问 funout()有返回值,就是funin【或者funin()】
带括号的是执行这个函数
不带的是函数的内存地址
也可以简单粗暴的理解为 函数名+() = 执行函数
第一个funout()返回了funin(),于是就会去执行funin()
第二个funout()返回了funin ,在给他加个括号就是funin()了
还有,return后面的就是函数的返回值
ba21 发表于 2020-4-17 20:07
我把第一个函数试了试用funout()()调用结果出来但是会报'NoneType' object is not callable这是怎么回事按你的说法我第一个这样调用应该没啥问题吧 _荟桐_ 发表于 2020-4-17 20:05
funout()有返回值,就是funin【或者funin()】
带括号的是执行这个函数
不带的是函数的内存地址
。。感觉没回答出我想问的点上谢了 czh1303541051 发表于 2020-4-17 22:57
我把第一个函数试了试用funout()()调用结果出来但是会报'NoneType' object is not callable这是怎 ...
首先要理解在函数名后面加() 是表示调用,第一个函数你调用就可以输出值了,再加一次调用,是准备给一个数值来一个函数调用? czh1303541051 发表于 2020-4-17 22:57
我把第一个函数试了试用funout()()调用结果出来但是会报'NoneType' object is not callable这是怎 ...
内部函数没返回值,不报NoneType还能报啥??????????????
页:
[1]