【发布时间】:2020-06-28 08:03:35
【问题描述】:
我想为全局变量分配一个新值,但它不起作用
email = " "
class A():
def __init__(self):
---some code---
def assign_email(self):
email = "max@gmail.com"
class B()
def __init__(self):
print(email) #this returns an empty string, not the updated value "max@gmail.com"
【问题讨论】:
-
使用全局,即将
email = "max@gmail.com"替换为global email = "max@gmail.com"。我认为它应该工作。我要补充一点:这不是构建代码的一种很好的方式,并且 global 的使用应该非常有限,因为理解电子邮件参数的价值来自哪里会令人困惑。 -
考虑将
email设为类/实例变量,除非您真的知道自己在做什么并且必须拥有该全局变量。
标签: python class variables global-variables