python中的全局变量
全局变量
myname = 'ubin'
def printName():
print(myname)
if __name__ == '__main__':
printName()
运行之后,会在控制台输出ubin。
在 Python 中,你在文件顶部定义的变量(如示例中的myname
)属于全局变量,在同一个文件中定义的所有函数通常都可以访问这些全局变量,就像你提供的代码示例那样。
myname
是一个全局变量printName()
函数可以直接访问并打印这个全局变量- 运行结果会正确输出
ubin
这种机制使得全局变量可以在整个模块(文件)范围内被访问。不过需要注意,如果函数内部尝试修改全局变量的值,需要使用global
关键字声明,例如:
myname = 'ubin'
def changeName(new_name):
global myname # 声明要修改全局变量
myname = new_name
def printName():
print(myname)
if __name__ == '__main__':
printName() # 输出 'ubin'
changeName('new_ubin')
printName() # 输出 'new_ubin'
如果没有global
关键字,函数内部会创建一个同名的局部变量,而不会修改全局变量。