如何通过python中的decorator修改类成员变量?

如何通过python中的decorator修改类成员变量?,python,python-decorators,Python,Python Decorators,基类: class BaseTest(): m_list = ['a', 'b'] 我想让每个BaseTest实例通过decorator修改它的成员变量,因为我不想更改BaseTest的代码 m_list = ['a', 'b', 'c'] 下一次: test = BaseTest() print test.m_list #Output: ['a', 'b', 'c'] 我如何实施 def dec(cls): cls.m_list = ['a', 'b', 'c']

基类:

class BaseTest():
    m_list = ['a', 'b']
我想让每个BaseTest实例通过decorator修改它的成员变量,因为我不想更改BaseTest的代码

m_list = ['a', 'b', 'c']
下一次:

test = BaseTest()
print test.m_list
#Output: ['a', 'b', 'c']
我如何实施

def dec(cls):
    cls.m_list = ['a', 'b', 'c']
    return cls

@dec
class BaseTest():
    m_list = ['a', 'b']
如果希望对象按函数返回修改的参数,可以执行以下操作:

class BaseTestextended(BaseTest):
    @classmethod
    def mlist(self):
        return m_list.append('c')

您想在类级别或实例级别修改它?类级别可能更好。
m_list
不是实例成员,而是类成员,因此没有与之相关的实例的“its”。您的单词没有以有意义的方式组合在一起。不可能知道你在问什么。随便猜猜,你的问题是否得到了答案?如果你想让每个实例都有
m_list
作为
['a','b','c']
,为什么不把它设置为类中的值呢?谢谢你的回答,但这并不能解决我的问题。我赞成亚历克斯·波莱哈的回答。
class BaseTestextended(BaseTest):
    @classmethod
    def mlist(self):
        return m_list.append('c')