因此,假设您有一个带有变量的应用程序,当您独立加载它时(即当您使用if __name__ == '__main__'
).
此外,当客户端导入应用程序以在另一个应用程序中使用时,将调用一个方法。该方法还将实例化该变量。
我想做的是在定义变量之前测试变量是否已经被实例化(这样我就不必两次创建对象)。我的直觉告诉我使用if SOME_VARIABLE is not None: #instantiate here
但这会产生错误
局部变量“SOME_VARIABLE”
赋值前引用
是什么赋予了?
在初始化之前访问变量是错误的。未初始化的变量的值不是 None;访问它只会引发异常。
如果您愿意,您可以捕获异常:
>>> try:
... foo = x
... except NameError:
... x = 5
... foo = 1
在类中,您可以提供默认值 None 并检查它是否在特定实例上发生更改(假设 None 不是该特定变量的有效值):
class Foo(object):
bar = None
def foo(self):
if self.bar is None:
self.bar = 5
return self.bar
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)