Python:关于局部变量和全局变量的NameError

时间:2018-12-10 14:39:34

标签: python python-3.x

我对全局变量的了解

全局变量是在函数外部定义和声明的。这意味着可以在函数内部或外部访问全局变量。

代码:

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内部声明全局变量?我期望逻辑解释。

0 个答案:

没有答案