Python 中的全局变量



我一直在读一本Python教科书,我看到以下代码:

class Database:
# the database implementation
    pass
database = None
def initialize_database():
    global database
    database = Database()

现在,为什么initialize_database函数内部有一个global声明?我们已经在函数之外定义了database,它不是已经使它全局了吗?

此致敬意

当全局未在函数中声明为全局时,您可以引用全局,但只能读取它;编写它将创建一个隐藏全局变量的新局部变量。global声明使其能够写入全局。

'global x' 不会使 x 全局,它应该被理解为"从现在开始,在这个命名空间中,将所有对 x 的引用视为对更高命名空间中 x 的引用。

请记住,你

不会永久地对x做任何事情,你只是让x指向函数中的不同东西。

相关内容

  • 没有找到相关文章

最新更新