python中class用法实例

python中class用法实例

https://blog.csdn.net/u010551600/article/details/79126911

该程序的作用是找到studet.txt文件中,GPA最高的那名同学,并打印出他的信息。
程序运行的结果是:
在这里插入图片描述
首先建立一个student.txt文件,里面存储的是学生的信息

zhangsan 127 228
lisi 100 400
wangwu 18 41.5
maliu 48.5 155
sunqi 37 125.33

#定义一个类,类的名字为Student.在__init__函数中self为对象本身,name、hours、qpoints为函数的处理所面对的对象。
#__init__函数的作用是初始化对象
#接下来定义getName函数——返回self.name对象
#getHour函数——返回self.hours对象
#getQpoints函数——返回self.qpoints对象
#gpa函数——返回self.qpoints/self.hours对象
#所以,一旦调用这些函数,将返回对应的对象

class Student:def __init__(self, name, hours, qpoints):self.name=nameself.hours=float(hours)self.qpoints=float(qpoints)def getName(self):return self.namedef getHours(self):return self.hoursdef getQpoints(self):return self.qpointsdef gpa(self):return self.qpoints/self.hours

#定义一个名为makeStudent的函数
#用split函数将一个字符串分裂成多个字符串组成的列表。split()不带参数时,以空格进行分割,当带参数时,以该参数进行分割。
#当调用该函数时,用split函数分裂成3个部分,每一部分分别对应name、hours和qpoints.并把这些值进行返回。

def makeStudent(infoStr):name,hours,qpoints=infoStr.split(" ")return Student(name, hours, qpoints)

#定义主函数
#把student.txt文件映射到filename这个变量下面。打开之后的filename文件,再映射到infile变量下面。
#调用makeStudent函数(调用makeStudent函数之后返回的是3部分,分别对应name、hours和qpoints)并把返回值映射到best这个字符串之下。
#readline函数的作用是,每次读出一行内容,所以best里存放的是student中第一个学生的信息。
#for line in infile——对剩余的学生的信息进行处理,用if语句和第一个信息进行对比,如果大于第一个的话,则把它赋值给best.
#close函数,close()用于关闭一个已经打开的文件,使用close()方法关闭文件是一个好的习惯。
#print函数:print(“the best student is:”,best.getHours()是在best这个对象下调用getHours这个函数。

def main():filename="student.txt"infile=open(filename,'r')best=makeStudent(infile.readline())for line in infile:s=makeStudent(line)if s.gpa()>best.gpa():best=sinfile.close()print("The best student is:",best.getName())print("hours:",best.getHours())print("GPA:",best.gpa())

#执行该模块中的函数
#方法是:用一个if name=="main"这个语句

if __name__=='__main__':main()


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部