Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,

1.对象

1.1 使用对象组织数据 (calss)

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第1张图片



 2. 类的定义与使用

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第2张图片

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第3张图片


2.1 成员方法的定义语法

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第4张图片

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第5张图片


2.2 样例代码

class student:
    name = None,
    sex = None

    def student_add(self,name1,sex1):
        self.name = name1
        self.sex = sex1

    def student_print(self):
        print(f"name={self.name}\nsex={self.sex}")

    def student_dd(self):
        print(f"ssssss")

stu = student()
stu.student_add(1,2)
stu.student_print()
stu.student_dd()

 Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第6张图片


 2.3总结

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第7张图片



 3. 构造方法  __init__()   (类的构造)

3.1 构造方法的定义

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第8张图片


 3.2 代码样例

class student:
    name = None,
    sex = None

    def __init__(self,name1,sex1):
        self.name = name1
        self.sex = sex1

    def student_print(self):
        print(f"name={self.name}\nsex={self.sex}")

    def student_dd(self):
        print(f"ssssss")

stu = student(1,"男")
stu.student_print()
stu.student_dd()

 Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第9张图片


 3.3 总结

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第10张图片



4. 类的 魔术方法   (类的运算符号重载)

4.1 魔术方法的定义

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第11张图片


4.2  样例代码

注意: 首先 一旦写了  魔术方法,在类外的使用是 它对应的运算都可以使用。

注意:__str__ 输出的是字符串, 不写他,print 输出的是 变量的地址.

class student:
    name = None,
    sex = None

    def __init__(self,name1,sex1):
        self.name = name1
        self.sex = sex1

    def __str__(self):
        return f"name={self.name}\nsex={self.sex}"

    def __lt__(self,other):  #小于号运算 , student 变量直接的运算
        return  self.name < other.name
    
    def __le__(self,other): #小于等于, student 变量之间的运算
        return self.name <= other.name
    
    def __eq__(self,other): # == 符号的运算
        return self.name == other.name
  
stu1 = student(1,"男")
stu2 = student(2,"女")
print(stu1) # 假如没有 写 def __str__ 返回的是 这个变量的地址,写了就是返回你写的东西
print(f"stu1stu2的结果是{stu1>stu2}") # 从结果可以 得出 只有写了对应符号的 魔术方法就可以使用对应的运算 (而不是单一的)
print(f"stu1<=stu2的结果是{stu1<=stu2}") 
print(f"stu1>=stu2的结果是{stu1>=stu2}") 
print(f"stu1==stu2的结果是{stu1==stu2}") 

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第12张图片


4.3 总结

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第13张图片



5.   面对对象的三大特性

5.1 封装

5.2 继承

5.3 多态

5.4  面对对象编程的定义

答:面对对象编程是许多编程语言都支持的一种编程思想,简单理解是:基于模板(类)去创建实体(对象),使用对象完成功能开发。



6. 封装

6.1 私有成员的定义  

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第14张图片


6.2 样例代码

class student:
    __name = None, #私有成员     私有函数都不可以让类外的变量调用
    sex = None

    def __init__(self,name1,sex1):
        self.__name =name1
        self.sex=sex1
        
    def mm(self):
        print(f"name={self.__name}")
        print(f"sex={self.sex}")

stu = student(1,2)
print(stu.sex)  
stu.mm()


7.继承

7.1 继承的定义

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第15张图片


7.2 多继承

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第16张图片


7.3 多继承注意事项

 Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第17张图片


 7.4 Pass 的用法

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第18张图片

参考链接:Python pass 语句 | 菜鸟教程 (runoob.com)


 7.5 子类和父类同名的变量复写

子类和父类同名的变量, 想改变 变量的值,就使用复写。

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第19张图片


 7.6 调用父类同名成员

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第20张图片


7. 7总结

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第21张图片



8. 变量的类型注解

8.1 基础语法 (基本变量的注解)

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第22张图片


8.2  容器的变量注解

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第23张图片


 8.3 总结

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第24张图片



9. 函数和方法类型注解

9.1 函数(方法)的类型注解--形参注解

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第25张图片


9.2 返回值注解

 Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第26张图片


9.3 样例代码

#对形参进行类型注解
def add(x: int,y: int):
    return x + y
#对返回值进行类型注解
def func(data: list) -> list:
    return data


 10. Union 联合类型注解

10.1 Union类型的含义

答: Union 类型是  一个列表有两种及以上 不同的元素。(元素是无序的)

比如说  list1 = [1,2,"list"}


10.2  Union 联合类型注解的使用 (基础容器上的使用)

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第27张图片


 10.3 Union 联合类型注解的使用 (函数上的使用) 

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第28张图片


 10.4 总结

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第29张图片



11.  多态

11.1 多态的定义

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第30张图片


11.2  样例代码


class Animal:  #创建对象类
    def speak(self):
        pass  #跳过, 假如不写就会报错

class Dog(Animal): #创建Dog 类
    def speak(self):
        print("汪汪")

class Cat(Animal):  #创建 Cat 类
    def speak(self):
        print("喵喵")

#创建多态函数
def make_noise(x : Animal):
    x.speak()

dog = Dog()
cat = Cat()
make_noise(dog)
make_noise(cat)

 



11.3 总结

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第31张图片

Python 自学 day07 对象,类,子类对父类函数的复写, 注释,封装,继承,多态,_第32张图片

 

 

你可能感兴趣的:(Python,语言学习,python,开发语言)