1. 面向对象的程序设计
类:某种类型集合的描述
属性:
类本身的一些特性,如名字,身高,体重等属性
属性具体值会根据每个人的不同而不同
方法:
类所能实现的行为,吃饭,走路,睡觉等方法
2. 类的定义
class classname[{父类名}]: —— classname这个类的名称,父类名是可选的,子类拥有父类的响应属性和方法
[成员函数及成员变量]
类定义对象:
_init_构造函数:初始化对象
_del_析构函数:销毁对象
3. 实例
学生成绩:
# 找到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 getQPoints(self):
return self.qpoints
def gpa(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.gpa() > best.gpa():
best = s
infile.close()
# 打印GPA成绩最高的学生信息
print("The best student is:", best.getName())
print("hours:", best.getHours())
print("GPA:", best.gpa())
if __name__ == '__main__':
main()
结果: