【发布时间】:2016-03-05 22:24:54
【问题描述】:
如果您想扩展一个类及其各自的__init__ 方法,有没有办法处理包括新参数在内的大量参数?例如:
class Thing:
def __init__(self, arg1, arg2, arg3, arg4):
# Initialize
class SubThing(Thing):
def __init__(self, arg1, arg2, arg3, arg4, ex_arg1, ex_arg2):
super().__init__(arg1, arg2, arg3, arg4):
# Do extra initialization
是否可以缩短子类的__init__ 方法的参数列表? this one 等答案没有描述如何向 init 添加参数,或如何处理额外的关键字参数,例如 __init__(self, arg1, arg_room='Bedroom', ex_arg1, ex_position=(0, 0), ex_arg2)。
【问题讨论】:
-
简短回答:不,如果不写出您想要传递的所有参数,就无法做到这一点。
-
有 *args 和 **kwargs 但我不认为这正是你所要求的。
标签: python python-3.x