Python(八)类

来源:互联网 发布:linux菜鸟私房菜 编辑:程序博客网 时间:2024/06/04 00:07

面向对象的程序设计,类:

类的定义:

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.hoursdef 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()

运行结果: