1.对象

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

python 初始化子类变量后调用父类变量_多态



 2. 类的定义与使用

python 初始化子类变量后调用父类变量_多态_02

python 初始化子类变量后调用父类变量_多态_03


2.1 成员方法的定义语法

python 初始化子类变量后调用父类变量_开发语言_04

python 初始化子类变量后调用父类变量_开发语言_05


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 初始化子类变量后调用父类变量_多态_06


 2.3总结

python 初始化子类变量后调用父类变量_父类_07



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

3.1 构造方法的定义

python 初始化子类变量后调用父类变量_多态_08


 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 初始化子类变量后调用父类变量_python_09


 3.3 总结

python 初始化子类变量后调用父类变量_多态_10



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

4.1 魔术方法的定义

python 初始化子类变量后调用父类变量_开发语言_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"stu1<stu2的结果是{stu1<stu2}")  
print(f"stu1>stu2的结果是{stu1>stu2}") # 从结果可以 得出 只有写了对应符号的 魔术方法就可以使用对应的运算 (而不是单一的)
print(f"stu1<=stu2的结果是{stu1<=stu2}") 
print(f"stu1>=stu2的结果是{stu1>=stu2}") 
print(f"stu1==stu2的结果是{stu1==stu2}")

python 初始化子类变量后调用父类变量_魔术方法_12


4.3 总结

python 初始化子类变量后调用父类变量_多态_13



5.   面对对象的三大特性

5.1 封装

5.2 继承

5.3 多态

5.4  面对对象编程的定义

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



6. 封装

6.1 私有成员的定义  

python 初始化子类变量后调用父类变量_开发语言_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 初始化子类变量后调用父类变量_开发语言_15


7.2 多继承

python 初始化子类变量后调用父类变量_多态_16


7.3 多继承注意事项

 

python 初始化子类变量后调用父类变量_python_17


 7.4 Pass 的用法

python 初始化子类变量后调用父类变量_python_18

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


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

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

python 初始化子类变量后调用父类变量_魔术方法_19


 7.6 调用父类同名成员

python 初始化子类变量后调用父类变量_多态_20


7. 7总结

python 初始化子类变量后调用父类变量_父类_21



8. 变量的类型注解

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

python 初始化子类变量后调用父类变量_开发语言_22


8.2  容器的变量注解

python 初始化子类变量后调用父类变量_魔术方法_23


 8.3 总结

python 初始化子类变量后调用父类变量_python_24



9. 函数和方法类型注解

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

python 初始化子类变量后调用父类变量_多态_25


9.2 返回值注解

 

python 初始化子类变量后调用父类变量_多态_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 初始化子类变量后调用父类变量_开发语言_27


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

python 初始化子类变量后调用父类变量_父类_28


 10.4 总结

python 初始化子类变量后调用父类变量_python_29



11.  多态

11.1 多态的定义

python 初始化子类变量后调用父类变量_多态_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)

python 初始化子类变量后调用父类变量_魔术方法_31

 



11.3 总结

python 初始化子类变量后调用父类变量_python_32

python 初始化子类变量后调用父类变量_魔术方法_33