对于一项作业,我必须编写一个可以创建目录和文件的程序,我们必须编写一个DirectoryEntry类来帮助完成这项工作,而对于其中的一部分,我们必须为文件或目录创建一个名称。如果输入了名称,那么我们只使用名称,但如果没有输入名称,我们只使用9个空格。
我不知道如何使用__init__
方法执行此操作,因为Python3不允许您使用多个构造函数方法。
现在它看起来像:
def __init__(self, name):
self.type = "f:"
self.name = name
self.length = "0000"
self.colon = ":"
self.blocks = ["000", "000", "000", "000", "000", "000", "000", "000", "000", "000", "000", "000"]`
答案 0 :(得分:3)
您可以使用:
def __init__(self, name='your_default_name'):
然后,您可以使用my_object()
创建该类的对象,并使用默认值,或使用my_object('its_name')
,它将使用输入值。
答案 1 :(得分:1)
只需将其设置为这样,因此默认情况下将使用9个空格
def __init__(self, name=' '):
self.type = "f:"
self.name = name
self.length = "0000"
self.colon = ":"
self.blocks = ["000", "000", "000", "000", "000", "000", "000", "000", "000", "000", "000", "000"]
答案 2 :(得分:1)
将其指定为默认变量,如下所示
def __init__(self, name=' '*9):
self.type = "f:"
self.name = name
self.length = "0000"
self.colon = ":"
self.blocks = ["000", "000", "000", "000", "000", "000", "000","000","000","000", "000", "000"]
答案 3 :(得分:0)
您可以使用默认参数:
def __init__(self, name=' '):