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

如何在Python3中为变量设置默认值?,python,default-value,default-constructor,Python,Default Value,Default Constructor,对于一个作业,我必须编写一个可以创建目录和文件的程序,我们必须编写一个DirectoryEntry类来帮助完成这项工作,其中一部分我们必须为文件或目录创建一个名称。如果输入了名称,我们只使用名称,但如果没有输入名称,我们只使用9个空格 我不知道如何使用\uuuu init\uuuu方法来实现这一点,因为Python3不允许您拥有多个构造函数方法 现在看起来就像: def __init__(self, name): self.type = "f:" self.name = name

对于一个作业,我必须编写一个可以创建目录和文件的程序,我们必须编写一个DirectoryEntry类来帮助完成这项工作,其中一部分我们必须为文件或目录创建一个名称。如果输入了名称,我们只使用名称,但如果没有输入名称,我们只使用9个空格

我不知道如何使用
\uuuu init\uuuu
方法来实现这一点,因为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"]`    
您可以使用:

def __init__(self, name='your_default_name'):
然后,您可以使用
my\u object()
创建该类的对象,它将使用默认值,或者使用
my\u object(“其名称”)
并使用输入值。

您可以使用:

def __init__(self, name='your_default_name'):

然后,您可以使用
my\u object()
创建该类的对象,它将使用默认值,或者使用
my\u object(“它的名称”)
它将使用输入值。

您可以使用默认参数:

def __init__(self, name='         '):

您可以使用默认参数:

def __init__(self, name='         '):

只需这样设置,默认情况下将使用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"]

只需这样设置,默认情况下将使用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"]

将其指定为默认变量,如下所示

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

将其指定为默认变量,如下所示

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

如果不是可变对象,则可以使用默认参数。例如:
def\uuuu init\uuuu(self,name=''):
。然而,9个空格是一个合理的文件名吗?您可以有一个默认参数,只要它不是可变对象。例如:
def\uuuu init\uuuu(self,name=''):
。然而,9个空格是一个合理的文件名吗?它们也可以缩短
self.blocks=[“000”]*12
。它们也可以缩短
self.blocks=[“000”]*12
。谢谢堆:)谢谢堆:)