学习python的时候在作用域遇到了些问题。
a=10
def test():
a=a+1
print(a)
test()
//会报错,局部作用域引用错误
而以下例子,不会报错
a=10
def test():
print(a)
test()
在只是引用全局变量,不加修改时,不需声明
在python3中,若在局部中有改变不可变类型的全局变量的值的操作,无论先后顺序,系统会默认为将该变量作为局部变量,不会再去全局寻找该变量的值,因此如上的代码,会报错:
解决办法是使用global将该变量变为全局变量。 在局部中增,删,改可变类型的全局变量的元素,不存在这个问题
最后
以上就是妩媚啤酒最近收集整理的关于python作用域的全部内容,更多相关python作用域内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复