Python 构造函数重载

我在 C++ 中遇到了类构造函数的概念。但是我还没有找到一种使用 2 种或更多不同方法在 Python 中初始化类的方法。谁能告诉我该怎么做?



不负相思意
浏览 120回答 2
2回答

桃花长相依

python中不需要多个构造函数,如果有多个这样的case可以用下面的方式初始化class A:    def __init__(self, arg_1, arg_2=None):        self.arg_1 = arg_1        self.arg_2 = arg_2所以当你需要初始化一个类A的对象时,你可以使用a1 = A(2)a2 = A(2, 4)虽然严格来说__init__不是构造函数而是初始化器

HUH函数

@Ratan Rithwik 解决方案是正确的,但只有 2 个案例如果您想拥有尽可能多的案例,您可以使用 **kwargone example with @thebjorn answer编辑:混合“标准”参数(具有默认值)和 kwargsclass Player:    def __init__(self, name='John', **kwargs):        self.name = name        self.last_name = kwargs.get('last_name')p = Player(last_name='Doe')print (p.name) # Johnprint (p.last_name) #Doep1 = Player('foo')print (p1.name) # fooprint (p1.last_name) #None
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python