Python实例3:类、类继承

1.创建一个学生类,该学生类有名字、学号、科目及各科成绩等属性,有设置学生成绩、打印学生成绩的方法,并创建一个对象,设置并打印该学生成绩。

练习类的创建、类属性和方法的定义及类的对象的获取

class Student:
    def __init__(self,name,stu_id):
        self.name=name
        self.stu_id=stu_id
        self.grades={"语文":0,"数学":0,"英语":0}
    def set_grades(self,course,grade):
        if course in self.grades:
            self.grades[course]=grade
    def print_grades(self):
        print(f"学生{self.name}(学号:{self.stu_id})的成绩为:")
        for course,grade in self.grades.items():
            print(f"{course}:{grade}")
        
chen=Student("小陈", "001021")
chen.set_grades("数学", 94)
chen.set_grades("英语", 89)
chen.set_grades("语文", 85)
chen.print_grades()

运行结果为:

学生小陈(学号:001021)的成绩为:
语文:85
数学:94
英语:89

2.现有全职员工FullEmployee和兼职员工PartEmployee,他们都有属性:名字、工号,都有打印姓名:工号的方法,但全职员工还有月工资monthly_salary属性,兼职员工有日工资daily_salary属性,他们都有计算月工资calculate_pay的方法,但计算方式不同。

练习子类和父类的创建,属性、方法的获取调用等

class Employee:
    def __init__(self,name,id):
        self.name=name
        self.id=id
    def print_info(self):
        print(f"{self.name}:{self.id}")
        
class FullEmployee(Employee):
    def __init__(self, name, id,monthly_salary):
        super().__init__(name, id)
        self.monthly_salary=monthly_salary
    def calculate_pay(self):
        pay=self.monthly_salary
        print(f"{self.name}(工号:{self.id})一个月的工资有{pay}元")
class PartEmployee(Employee):
    def __init__(self, name, id,daily_salary):
        super().__init__(name, id)
        self.daily_salary=daily_salary
    def calculate_pay(self):
        pay=self.daily_salary*26
        print(f"{self.name}(工号:{self.id})一个月的工资有{pay}元")

xx1=FullEmployee("小明", "001", 3500)
xx2=PartEmployee("小红", "002", 140)
xx1.print_info()
xx2.print_info()
xx1.calculate_pay()
xx2.calculate_pay()

运行结果:

小明:001
小红:002
小明(工号:001)一个月的工资有3500元
小红(工号:002)一个月的工资有3640元

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值