【发布时间】:2018-07-21 03:43:03
【问题描述】:
到目前为止,我有以下代码。我想将 unit1 信息显示为字符串,但 prereq 详细信息存储在列表中,我不太清楚为什么它是空白而不是显示数学,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:
【问题讨论】:
-
可能是因为您从未分配过它们?
self.prereq =[] -
顺便说一句,
str(self.prereq)工作正常,不清楚为什么当你加入换行符时你期望逗号加入输出......另外,stackoverflow.com/questions/1132941/… -
我还想补充一点,不建议使用可变值作为默认值,例如
prereq = [],这可能会导致意外错误。使用prereq = None并在函数内部处理。