如何深入理解并运用Python中的global和非local关键字?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1111个文字,预计阅读时间需要5分钟。
pythonglobal bb=100
def func(): b +=1 return b
print(func())
global 方法
我们来看下面这段代码:
b = 100 def func(): b = b + 1 return b print(func())这段代码看上去中规中矩,似乎没有什么问题,但是程序运行后确报错。
这是因为在 Python 中,不允许直接在局部空间修改全局变量。b = b + 1 是一个冲突的语句:等式右边的 b 是要调用一个全部变量,而等号右边却是要定义一个局部变量。
如果将 b 视作一个全局变量依然不合适。在函数中修改全局变量会对其他调用相同变量的函数造成影响,除非万不得已或者十分确定的情况下,不建议在函数中修改全局变量。
本文共计1111个文字,预计阅读时间需要5分钟。
pythonglobal bb=100
def func(): b +=1 return b
print(func())
global 方法
我们来看下面这段代码:
b = 100 def func(): b = b + 1 return b print(func())这段代码看上去中规中矩,似乎没有什么问题,但是程序运行后确报错。
这是因为在 Python 中,不允许直接在局部空间修改全局变量。b = b + 1 是一个冲突的语句:等式右边的 b 是要调用一个全部变量,而等号右边却是要定义一个局部变量。
如果将 b 视作一个全局变量依然不合适。在函数中修改全局变量会对其他调用相同变量的函数造成影响,除非万不得已或者十分确定的情况下,不建议在函数中修改全局变量。

