Python知识点范围:走进面向对象


  • Object Oriented Programming面向对象简称oop;
  • 复用性、灵活性、扩展性;
  • 面向对象两个基本概念:类和对象;
  • 对象包括属性和功能,封装性体现在功能上,外人只知道它有这个功能,但不知道如何实现的;
  • ​3大基本特性:封装性、继承性和多态;​
  • 上一个类是程序员,在此基础上继承的类,前端程序员和后端程序员;
  • 多重继承:我是一个喜欢足球的程序员,同时集成了程序员和踢足球两个类;
  • 程序员类里我写了一个方法,返回我是什么程序员,后面继承的前后端程序员重写这个方法,一个返回前端,一个返回后端,这个就是多态;
  • python2.x系列存在老式类和新式类的概念,老式类被认为接口类型,和新式类有很多差别,属性也少,python3.x系列都是新式类;
  • 两个内建函数:dir()可以返回对象的属性,type()可以获取对象的类型;
  • 构造方法:在创建类的时候调用 def ​init​ (self, … );
  • 析构方法:在销毁类的时候调用 def ​del​(self, … );
  • ​定义属性的两种方法:类里直接定义还有构造函数里用self.xxx定义,xx就是属性名,这样一来我们直接就能用self.xx调用了;​
  • python里没有访问控制,也就是没有形如java里的私有属性,公有属性的;
  • self._xx,私有属性,起名规范,可以被访问;
  • ​self.__xx,加强型的私有属性,直接的话不可以访问,类的属性里会多出一个叫"_Programer__xx"的属性,我们可以通过这个属性访问私有属性,不是真正意义上的私有属性,仍然可以被访问到,只是实现了部分控制的功能;​
  • 函数和方法的区别:函数依附于对象就是方法了;
  • 对象的方法就是method类型的属性,变量可以等于方法,然后再把变量改变为字符串;
  • 修饰符:@classmethod调用时只能用类名来调用,对象是没法调用的;
  • ​修饰符:@property调用时直接用名字调用就好了,不用括号和里面的参数就可以了;​
  • 方法的起名也有私有设置方法,前面加一个或两个_;
  • 继承可以让大量的方法被复用,非常重要的特性;
  • 定义类时后面加括号,括号里面填上要继承类名就好了;
  • ​推荐每个类都要继承,至少继承object,这个是一切对象的父类;​
  • 多重继承:类的括号里放入多个要继承的类名;
  • isinstance(a,b)判断a是否是b的子类,issubclass(a,b)也是判断a是不是b的子类,一样的方法,区别是前者是内建函数;
  • 引用父类方法的两种方法:super(自己的类名, self).xx,xx就是调用的父类方法;
  • 还有一种方法是:直接用父类的类名调用,因为继承时类后面括号里有父类,所以可以直接调用;
  • 多态的要点:继承和重写;

喜欢的点个赞吧!