小编Joh*_* He的帖子

如何在使用__slots__时访问__getattr__

在申请之前__slots__,我可以这样做:

class C(object):

    def __init__(self):
        self.m_A = 1

    def __getattr__(self, name):
        if name in ("A"):
            return self.__dict__["m_%s" % name]
        raise AttributeError(name)

a = C()
a.A
Run Code Online (Sandbox Code Playgroud)

现在,我想用__slots__; 但是,这会禁用__dict__导致我的代码中断.

所以,我的问题是:

  1. 有没有其他方法可以做到这一点?(除外property)

  2. 我在使用Python时如何访问对象属性__slots__

python

2
推荐指数
1
解决办法
869
查看次数

标签 统计

python ×1