我对全局变量的了解
全局变量是在函数外部定义和声明的。这意味着可以在函数内部或外部访问全局变量。
代码:
def add():
count=0
count=count + 1
def display():
print("count= " + str(count) )
if __name__ == '__main__':
global count
add()
display()
当我在main
内定义一个全局变量时,它会显示“名称未定义”。
输出:
>python local_global_variable.py
Traceback (most recent call last):
File "local_global_variable.py", line 12, in <module>
display()
File "local_global_variable.py", line 7, in display
print("count= " + str(count) )
NameError: name 'count' is not defined
我要解决的问题:
当我将全局变量放在另一个函数中时,则不会显示上述错误。
def add():
global count
count=0
count=count + 1
def display():
print("count= " + str(count) )
if __name__ == '__main__':
add()
display()
我不理解其背后的逻辑。为什么我们不应该在main内部声明全局变量?我期望逻辑解释。