有没有什么方法可以使它成为全局变量而无需使用global关键字?

时间:2019-06-01 05:30:40

标签: python

我创建了一个函数,它简单地向分配了变量名的值打个招呼。在这里,我想使变量成为全局变量,而不使用global关键字。


name = "Messi"

def greet():

    name = "Ronaldo" #I want to make a global variable without using the global keyword.

1 个答案:

答案 0 :(得分:0)

如果您的代码这样做:

name = "Messi"

def greet():
    print("Hello",name)

>>> greet()
Hello Messi

然后,函数name中的名称greet()将是全局名称,因为您是在模块级别分配的,而没有在较低级别重新分配的。但是,如果要为其分配新值,则必须告诉解释器它是您想要的模块级变量。这就是global关键字的用途。

我认为您应该解释一下您真正想要做的是什么,因为从Python的角度来看,您说的内容并没有太大意义。