如何在使用变量之前测试变量是否已经初始化?

2024-03-04

因此,假设您有一个带有变量的应用程序,当您独立加载它时(即当您使用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(使用前将#替换为@)

如何在使用变量之前测试变量是否已经初始化? 的相关文章

随机推荐