如何在Python3中为变量设置默认值?

时间:2016-09-08 09:01:10

标签: python default-value default-constructor

对于一项作业,我必须编写一个可以创建目录和文件的程序,我们必须编写一个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"]`    

4 个答案:

答案 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"]

More information

答案 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='         '):