|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 1147548072 于 2016-12-21 14:03 编辑
今天看了下小甲鱼关于Python的《020函数:内嵌函数和闭包》视频,关于闭包与nonlocal在shell中运行和执行.py文件,返回值有点问题
我使用的是Python3.5.2
def Fun1():
x = [5]
def Fun2():
x[0] *= x[0]
print ('x = ' + str(x[0]))
return 'Fun2 return ' + str(x[0])
return Fun2()
Fun1()
直接执行.py文件:
在shell中执行:
def Fun1():
x = 5
def Fun2():
nonlocal x
x *= x
print ('x = ' + str(x))
return 'Fun2 return ' + str(x)
return Fun2()
Fun1()
直接执行.py文件:
最后一个图片无法上传,只能用文本了
=================== RESTART: C:/Users/Stiles/Desktop/1.py ===================
x = 25
>>> def Fun1():
x = 5
def Fun2():
nonlocal x
x *= x
print ('x = ' + str(x))
return 'Fun2 return ' + str(x)
return Fun2()
>>> Fun1()
x = 25
'Fun2 return 25'
>>>
求大神帮忙看看,为什么直接执行文本文件,无返回值,而在shell中执行就有返回值。
|
|