面向对象的程序设计,类:
类的定义:
class classname[(父类名)]:
[成员函数及成员变量]
_init_ 构造函数:初始化对象
_del_析构函数:销毁对象
使用类的实例:
首先,创建并写入数据到students.txt文本中,代码如下:
文本内容:姓名 、 学时 、 学分
读取文件student.txt文件中的数据,找到GPA最高的学生。
代码:
# studentscore.py
# encoding=utf-8
# 找到GPA最高的学生
class Student:
def __init__(self,name,hours,qpoints):
self.name = name
self.hours = float(hours)
self.qpoints = float(qpoints)
def getName(self):
return self.name
def getHours(self):
return self.hours
def getQPoint(self):
return self.qpoints
def qpa(self):
return self.qpoints/self.hours
def makeStudent(infoStr):
name,hours,qpoints = infoStr.split("\t")
return Student(name,hours,qpoints)
def main():
# 打开输入文件
filename = input("Enter name the grade file:")
infile = open(filename,'r')
# 设置文件中第一个中学生的记录为best
best = makeStudent(infile.readline())
# 处理文件剩余行数据
for line in infile:
# 将每一行数据转换为一个记录
s = makeStudent(line)
# 如果该学生是目前GPA最高的,则记录下来
if s.qpa() > best.qpa():
best = s
infile.close()
# 打印GPA成绩最高的学生的信息
print("The best student is:",best.getName())
print("hours:",best.getHours())
print("GPA:",best.qpa())
if __name__ == '__main__':
main()
运行结果: