到目前为止,我有以下代码。我想将unit1信息显示为字符串,但先决条件详细信息存储在列表中,我不太确定为什么它是空白而不是显示数学,Python
class The_Unit:
def __init__(self,code,name,prereq=[]):
self.code = code
self.name = name
self.prereq =[]
def __repr__(self):
return self.__str__()
def __str__(self):
return 'Code: ' + self.code + \
'\nName: ' + self.name + \
'\nprerequisites: ' + '\n'.join((str(x) for x in self.prereq))
unit1 = The_Unit('11','coding',['math','python'])
print(unit1)
Code: 11
Name: coding
prerequisites:
答案 0 :(得分:0)
您将空列表分配给self.prereq
。参数为prereq
,因此您需要:
self.prereq = prereq
prereq = []
表示在调用函数时可以省略该参数,然后self.prereq
将是一个空列表。
答案 1 :(得分:0)
首先,您需要将传递的prereq
分配给您的类变量。其次,使用.format()
语句将有助于格式化如下:
class The_Unit:
def __init__(self, code, name, prereq=[]):
self.code = code
self.name = name
self.prereq = prereq
def __repr__(self):
return self.__str__()
def __str__(self):
return 'Code: {}\nName: {}\nprerequisites: {}'.format(self.code, self.name, ', '.join(self.prereq))
unit1 = The_Unit('11', 'coding', ['math', 'python'])
print(unit1)
这将打印:
Code: 11
Name: coding
prerequisites: math, python