在 Python 中,你能提前声明所有可用的实例变量吗?

Seb*_*Seb 0 python class

在 Python 中(我在这里说的是 2,但也有兴趣了解 3)是否有一种方法可以预先定义您想要使用的所有实例变量(成员字段)的列表,即使用您的一个错误没有在某处定义?

就像是

class MyClass(object):
    var somefield
    def __init__ (self):
        self.somefield = 4
        self.banana = 25      # error!
Run Code Online (Sandbox Code Playgroud)

有点像你在 Java、C++、PHP 等中所做的

编辑:

我想要这种东西的原因是尽早发现使用最初没有设置的变量。看起来 linter 实际上会在没有任何额外管道的情况下发现这些错误,所以也许我的问题没有实际意义......

Ign*_*ams 5

为什么是的,你可以。

class MyClass(object):
    __slots__ = ['somefield']
    def __init__ (self):
        self.somefield = 4
        self.banana = 25      # error!
Run Code Online (Sandbox Code Playgroud)

但请注意警告