Python面向对象总结

python 面向对象(oop)

1、面向对象:是一个更大封装,把一个对象封装多个方法

2、类:是对一些具有相同特征或行为的事物的一个统称,是抽象的,不能直接使用

  特征被称为属性  行为被称为方法

3、对象:是由类创建出来的一个具体的存在,可以直接使用

  先有类再有对象,类只有一个,而对象可以有多个

  类中定义了什么属性和方法,对象就有什么属性和方法,不可能多也不可能少

4、定义类

  class 类名:

    def 方法1(self,参数列表):

        pass

    def 方法2(self,参数列表):

        pass

5、创建对象

  对象变量名 = 类名()

6、初始化方法

  __init__   方法是专门用来定义一个类具有哪些属性的方法

  创建对象时会被自动调用

7、dir() 函数

  --new-- 创建对象时会被自动调用

  --del--对象被从内存中销毁前会被自动调用

  --str--返回对象的描述信息,用print()函数输出使用

8、面向对象的三大特性

  封装:将属性和方法封装到一个抽象的类中

  继承:实现代码的重用,相同的代码不需要重复的编写

  多态:不同的对象调用相同的方法,产生不同的结果,增加代码的灵活度

9、继承

  class 类名(父类名):

      pass

  子类继承父类,可以直接享受父类中已经封装好的方法,不需要再次开发,根据自己所需封装子类特有的属性和方法

  在子类中重写父类的方法在需要的位置使用supper().父类方法来调用父类方法的执行

10、多继承

  子类可以拥有多个父类,并且具有所有父类的属性和方法

  __mro__可以查看继承的先后顺序

11、多态 

  不同的子类对象调用相同的父类方法,产生不同的执行结果

12、 魔法方法

  --repr-- 在解释器环境下直接输出本对象,自动调用的方法

  --len-- 调用len()函数的时候自动调用的方法

  --call--调用本类对象的时候自动调用的方法

13、枚举法

  from enum import Enum,unique

  @ unique # 防止枚举成员的重复

  class Menu(Eunm):

    INSERT = 1

               APPEND = 2

  print(Menu.INSERT.value)

  print(Menu.INSERT.value == 1)

  print(Menu["INSERT"])

原文地址:https://www.cnblogs.com/Qingxiaoyu/p/10133719.html