通常,类的构造函数会接受它的参数并将它们保存在实例中。例如:
class Example(object):
def __init__(self, title='',backtitle='', height=20, width=50):
self.title = title
self.backtitle = backtitle
self.height = height
self.width = width
这是重复的,所以我创建了一个辅助函数来自动执行此操作:
from inspect import getargspec
def save_args(values):
for i in getargspec(values['self'].__init__).args[1:]:
values['self'].__dict__[i] = values[i]
class Example(object):
def __init__(self, title='',backtitle='', height=20, width=50):
save_args(vars())
我的问题如下:
- 这会在某些类或 agruments 上失败吗
- 它是可移植的,它可以在 Jython 上工作吗?等等。它在 python 2.7 和 3.2 上对我有用
- 有没有更简单的选择?
- 那里有一个已经这样做的python包吗?