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元