如何创建重载的构造函数?

时间:2017-04-15 13:23:17

标签: python

我看过What is a clean pythonic way to have multiple constructors in python,但我需要进一步的帮助,因为我还是新手。这个例子就是你只有一个参数,我有四个。

假设我有一个班级:

class Word:

    def __init__(self, wordorphrase, explanation, translation, example):
        self.wordorphrase = wordorphrase
        self.explanation = explanation
        self.example = example
        self.translation = translation

现在我只能通过在创建对象时传递四个参数来创建Word对象,例如:

w = Word(self.get_word(), self.get_explanation(), self.get_translation(), self.get_example())

我应该如何修改我的__init__方法,以便我可以通过以下方式创建对象:

w = Word()

1 个答案:

答案 0 :(得分:0)

您可以通过为非自身的四个变量指定默认参数来实现此目的。我测试了以下代码,并且能够创建单词类的实例而不传递任何参数。

class Word:

    def __init__(self, wordorphrase=None, explanation=None, translation=None, example=None):
        self.wordorphrase = wordorphrase
        self.explanation = explanation
        self.example = example
        self.translation = translation