我可能会问一个愚蠢的问题。我刚开始学Python。在
我有一个简单的python脚本,它用两个方法定义了一个类:add_course
和{
class School:
courses=["Math","Physics","Chemical"]
def __init__(self):
return
def add_course(self, course):
if course not in self.course:
self.course.append(course)
def write_to_file():
course_file = open('courses.csv', 'w+')
wr = csv.writer(course_file, delimiter='\t')
writer.writerow(self.courses)
// create a School instance
school = School()
// add course
school.add_course("test")
school.add_course("test2")
school.add_course("test")
// write course to file
school.write_to_file()
我运行上面的脚本,然后,我打开课程.csv文件,我没有看到“测试”和“测试2”,但我可以看到课程“数学”,“物理”,“化学”为什么?在
目前您已经添加了courses作为class-level属性,但试图将其作为instance属性访问,因此您必须将courses initialization移动到
__init__
方法中,如下面的代码片段所示:另外,您还必须修改
^{pr2}$add_course
方法,以将项附加到self.courses
中,而不是self.course
:请参见SO{a1}问题,了解如何以及何时使用每种类型的属性。在
我在您的代码片段中发现了一些错误,因为您是Python新手,所以考虑发布工作代码-
我的改变-
^{pr2}$相关问题 更多 >
编程相关推荐