构造方法:

构造方法是Python类中的内置方法之一,它的方法名为__init__,在创建一个类对象时会自动执行,负责完成新创建对象的初始化工作。

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

 

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

 

 

析构方法:

析构方法是类的另一个内置方法,它的方法名为__del__,在销毁一个类对象时会自动执行,负责完成待销毁对象的资源清理工作,如关闭文件等。
提示:类对象销毁有如下三种情况:
(1)局部变量的作用域结束。
(2)使用del删除对象。
(3)程序结束时,程序中的所有对象都将被销毁。

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

 

 

继承的概念:

继承允许开发者基于已有的类创建新的类。
如果一个类C1通过继承已有类C而创建,则将C1称作子类(sub class),将C称做基类、父类或超类(base class、super class)。
子类会继承父类中定义的所有属性和方法,另外也能够在子类中增加新的属性和方法。
如果一个子类只有一个父类,则将这种继承关系称为单继承;如果一个子类有两个或更多父类,则将这种继承关系称为多重继承。
Python编程基础(中国mooc)3

 

 

子类的定义:

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

 

 

方法重写和鸭子类型:

方法重写,是指子类可以对从父类中继承过来的方法进行重新定义,从而使得子类对象可以表现出与父类对象不同的行为。

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

在鸭子类型中,关注的不是对象所属的类,而是一个对象能够如何使用。
在Python中编写一个函数,传递实参前其参数的类型并不确定,在函数中使用形参进行操作时只要传入的对象能够支持该操作程序就能正常执行。

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

 

 

super方法:

super方法用于获取父类的代理对象,以执行已在子类中被重写的父类方法,其语法格式为:super([类名,[,对象名或类名]])

super方法有两个参数:
第一个参数是要获取父类代理对象的类名。
第二个参数如果传入对象名,则该对象所属的类必须是第一个参数
指定的类或该类的子类,找到的父类对象的self会绑定到这个对象上;
如果传入类名,则该类必须是第一个参数指定的类的子类。
在一个类A的定义中调用super方法时,可以将两个参数都省略,此
时,super()等价于super(A, self),即获取A的父类代理对象,且获取
到的父类代理对象中的self绑定到当前A类对象的self上。

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

 

 

内置函数isinstance、issubclass、type:

isinstance:

用于判断一个对象所属的类是否是指定类或指定类的子类。

issubclass:
用于判断一个类是否是另一个类的子类。

type:
用于获取一个对象所属的类。

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

如果我们要判断一个对象的类型是否是指定类或该类的子类,则可以使用isinstance函数。
如果我们要判断一个对象的类型是否是指定类,则可以使用“type(对象名)==类名”的方式。

 

 

类方法和静态方法:

类方法是指使用@classmethod修饰的方法,其第一个参数是类本身(而不是类的实例对象)。
类方法的特点是既可以通过类名直接调用,也可以通过类的实例对象调用。

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3


静态方法是指使用@staticmethod修饰的方法。
与类方法相同,静态方法既可以直接通过类名调用,也可以通过类的实例对象调用。
与类方法不同的地方在于,静态方法中没有类方法中的第一个类参数。

Python编程基础(中国mooc)3

Python编程基础(中国mooc)3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • 2021-09-23
  • 2022-01-04
  • 2021-05-26
  • 2021-09-03
  • 2022-12-23
  • 2021-04-17
  • 2021-08-21
猜你喜欢
  • 2021-08-13
  • 2021-11-22
  • 2021-09-09
  • 2021-04-05
  • 2021-09-15
  • 2021-08-25
相关资源
相似解决方案