def scope_test():
def do_local():
spam = "local spam"
def do_nonlocal():
nonlocal spam
spam = "nonlocal spam"
def do_global():
global spam
spam = "global spam"#spam虽然声明了global但此处仍是函数内的局部变量
spam = "test spam"
do_local()
print("After local assignment: ",spam)#"test spam"
do_nonlocal()
print("After nonlocal assignment: ",spam)# "nonlocal spam"
do_global()
print("After global assignment: ",spam)#
scope_test()
print("In global scope: ",spam)#do_global函数会自己定义一个全局变量spam,即使没有预先定义的全局变量
https://www.jb51.net/article/114951.htm
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。