林粒粒呀-python课程学习29
盛时_
2022年08月21日 09:24
收录于文集
共7篇

本人学过C语言,所以笔记有所精简,第一次学习编程的同学可以复制笔记自己添加文字(完全免费)

视频链接:超超超基础Python课程,120分钟快速入门 林粒粒呀​

笔记链接:https://www.yuque.com/docs/share/344eb62e-7ddb-41d5-800a-00eb87f5630e?# 《林粒粒呀-python课程学习》在学习过程中会不断更新

注意:笔记是为了学习,只记需要的即可,没必要每句话都记下,必要时可自己延申

若笔记可能出现对其理解不深入,不完整,甚至也会出现错误有问题的地方,希望大家谅解、留言提出指正,同时也欢迎大家来找我一起交流学习!

继承类

复读机代码,用类来解决

代码块
Python
自动换行
复制代码
class Mammal:                                    #父类
    def __init__(self, name, sex):
        self.name = name
        self.sex = sex
        self.num_eyes = 2

    def breathe(self):
        print(self.name + "在呼吸")

    def poop(self):
        print(self.name + "在拉屎")


class Human(Mammal):                                    #子类
    def __init__(self, name, sex):
        super().__init__(name, sex)                  #super用来调取父类
        self.has_tail = False

    def read(self):
        print(self.name + "在阅读")


class Cat(Mammal):                                    #子类
    def __init__(self, name, sex):
        super().__init__(name, sex)
        self.has_tail = True

    def scratch_sofa(self):
        print(self.name + "在抓沙发")


cat1 = Cat("Jojo", "男")
cat1.poop()
print(cat1.name)
cat1.scratch_sofa()
复制成功

2. 实例

代码块
Python
自动换行
复制代码
# 类继承练习:人力系统
# - 员工分为两类:全职员工 FullTimeEmployee、兼职员工 PartTimeEmployee。
# - 全职和兼职都有"姓名 name"、"工号 id"属性,
# 都具备"打印信息 print_info"(打印姓名、工号)方法。
# - 全职有"月薪 monthly_salary"属性,
# 兼职有"日薪 daily_salary"属性、"每月工作天数 work_days"的属性。
# - 全职和兼职都有"计算月薪 calculate_monthly_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 FullTimeEmployee(Employee):
    def __init__(self, name, id, monthly_salary):
        super().__init__(name, id)
        self.monthly_salary = monthly_salary

    def calculate_monthly_pay(self):
        return self.monthly_salary


class PartTimeEmployee(Employee):
    def __init__(self, name, id, daily_salary, work_days):
        super().__init__(name, id)
        self.daily_salary = daily_salary
        self.work_days = work_days

    def calculate_monthly_pay(self):
        return self.daily_salary * self.work_days


zhangsan = FullTimeEmployee("张三", "1001", 6000)
lisi = PartTimeEmployee("李四", "1002", 230, 15)

zhangsan.print_info()
lisi.print_info()

print(zhangsan.calculate_monthly_pay())
print(lisi.calculate_monthly_pay())
复制成功