说我有这个代码:def Declare(): x = 5def Print(): print(x)Declare()Print()这将引发错误,因为在 Print() 函数中,未定义 x。有没有办法创建一个可以在任何地方使用 python 引用的静态变量?
1 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
这有效:
def declare():
global x
x = 5
def print_x():
global x
print(x)
declare()
print_x()
几点说明:
通常,全局变量不是一个好的解决方案,您可能应该考虑在函数之间传递数据的更好方法;
不要大写你的函数名(或在函数和变量名中使用大写),Python 中的大写表示类,而不是函数;
不要定义“遮蔽”标准 Python 关键字和库函数的东西,除非你真的必须(注意我print改为print_x;
这在没有global xin的情况下也可以工作print_x,因为该函数在运行时可以访问全局范围,因此将其放入是一个偏好问题。global仅当您想在全局范围内定义和修改变量时才需要。
添加回答
举报
0/150
提交
取消