Python中的全局变量

alw*_*btc 3 python declaration function global-variables

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

class Database:
# the database implementation
    pass

database = None

def initialize_database():
    global database
    database = Database()
Run Code Online (Sandbox Code Playgroud)

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

最好的祝福,

ick*_*fay 9

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