这是我正在处理的结构
class myclass():
def function(self):
class localclass():
params = {'a':1, 'b': 2}
return localclass
我想在类localclass中添加参数,而不是直接在类“ myclass”的定义中添加参数。
所以我想调用/覆盖函数和/或类localclass以使用方法添加参数
params.update({'d': 4, 'e': 5})
我怎么做?
谢谢。
最佳答案
您可以使用装饰器:
def update(func):
def wrapper(*args):
cls = func(*args)
cls.params.update({'d': 4, 'e': 5})
return cls
return wrapper
class myclass(object):
@update
def function(self):
class localclass(object):
params = {'a':1, 'b': 2}
return localclass
演示:
>>> a = myclass()
>>> a.function().params
{'a': 1, 'b': 2, 'e': 5, 'd': 4}