Python(八)类

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

类的定义:

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

运行结果:






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值