【发布时间】:2013-03-18 18:24:23
【问题描述】:
通常,类的构造函数会接受它的参数并将它们保存在实例中。例如:
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 包已经可以做到这一点?
【问题讨论】:
标签: python constructor