我看过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()
答案 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