gpt4 book ai didi

python - 如何用许多参数覆盖 Python 类的构造函数?

转载 作者:IT老高 更新时间:2023-10-28 22:17:20 25 4
gpt4 key购买 nike

说,我有一个类 Foo,扩展类 Bar。我想稍微覆盖 Foo 的构造函数。而且我什至不想知道 Bar 的构造函数的签名是什么。有没有办法做到这一点?

如果你不明白,我的意思是:

class Bar:
def __init__ (self, arg1=None, arg2=None, ... argN=None):
....


class Foo (Bar):
#Here i just want add additional parameter to constructor, but don't want to know anything about Bar's other parameters (arg1, arg2..., argN)
def __init__ (self, my_new_arg=None, ??? )
self.new_arg = my_new_arg
Bar.__init__(self, ??? )

有没有办法让一些简短而优雅的东西代替???在这段代码中?(可能是 args/kwargs 的一些变体)

最佳答案

class Parent(object):
def __init__(self, a, b):
print 'a', a
print 'b', b

class Child(Parent):
def __init__(self, c, d, *args, **kwargs):
print 'c', c
print 'd', d
super(Child, self).__init__(*args, **kwargs)

test = Child(1,2,3,4)

输出:

c 1d 2a 3b 4

关于python - 如何用许多参数覆盖 Python 类的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8333354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com