Lee*_*fin 0 python csv python-2.7 export-to-csv
我可能会问一个愚蠢的问题.我刚开始学习Python.
我有一个简单的python脚本,它用两个方法定义了一个类:add_course和write_to_file:
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()
Run Code Online (Sandbox Code Playgroud)
我运行上面的脚本,然后,我打开courses.csv文件,我没有看到"test"和"test2",但我可以看到"Math","Physics","Chemical"等课程为什么?
目前,您已将课程添加为类级属性,但尝试将其作为实例属性进行访问,因此您必须将课程初始化移至__init__方法中,如下面的代码片段所示:
def __init__(self):
self.courses = ["Math", "Physics", "Chemical"]
Run Code Online (Sandbox Code Playgroud)
您还必须修改add_course方法以附加项目self.courses而不是self.course:
def add_course(self, course):
if course not in self.courses:
self.courses.append(course)
Run Code Online (Sandbox Code Playgroud)
请参阅SO Python:类和实例属性问题之间的差异,以获得有关如何以及何时使用每种类型属性的更多解释.
| 归档时间: |
|
| 查看次数: |
1094 次 |
| 最近记录: |