【发布时间】:2010-03-29 05:21:06
【问题描述】:
有没有一种方法可以定义__init__,以便将**kwargs 中定义的关键字分配给类?
例如,如果我要使用 ValidationRule(other='email') 初始化 ValidationRule 类,则应将 self.other 的值添加到类中,而不必显式命名每个可能的 kwarg。
class ValidationRule:
def __init__(self, **kwargs):
# code to assign **kwargs to .self
【问题讨论】:
-
你不使用新式类有什么原因吗?
-
@Georg:我什至不知道什么是新式类?如果相关,我正在使用 Python 2.5。
-
要创建一个新样式类,您只需要从一个新样式类(通常是
object)继承,所以请使用class ValidationRule(object):更多信息:python.org/doc/newstyle -
新式..?似乎是python3中的旧风格?这甚至可以在那里工作吗?
标签: python syntax constructor keyword-argument