|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- def outer():
- x=1
- def inner():
- print(x)
- return inner
- fun=outer()
- fun()
复制代码
正常的代码如上,结果是1
没搞清楚 如果return inner()的话,看到资料说 return 函数名不加括号 就是返回函数体,加括号就是返回函数结果,不累计额具体是什么意思
我试了试
- def outer():
- x=1
- def inner():
- print(x)
- return inner()
- fun=outer()
- fun()
复制代码
报了这个错误:TypeError: 'NoneType' object is not callable
意思是 没有返回值的意思吗(疑问,我也不知道,我猜的)
我又试了试
- def outer():
- x=1
- def inner():
- print(x)
- return '你好'
- return inner()
- fun=outer()
- fun()
复制代码
又报个这错误。
我现在的问题是,,return 返回函数后面加不加的括号差别能不能有个比较形象的例子能让我理解消化下。谢谢
- # -*- coding: utf-8 -*-
- def outer():
- x=1
- return x
- fun=outer()#加()返回函数结果x=1
- fun1=outer #不加()返回函数
- print(fun,type(fun))
- print(fun1,type(fun1))
复制代码
|
|