python 类和对象 (类属性,类方法,静态方法,实例属性,实例方法)

1、类和对象

类:类是抽象的,在使用的时候通常会找到这个类的一个具体的存在,使用这个具体的存在。一个类可以找到多个对象

对象: 某一个具体事物的存在,在现实世界中可以是看的到摸得着的。 可以直接使用

类与对象的关系: 类就是创建对象的模板

类的构成:

1.类的名称:类名

2.类的属性:一组数据

3.类的方法:允许对进行操作的方法(行为)

对象:当创建对象时,就是用一个模子,来制造一个实物

2、类属性,实例属性

类属性:类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本。

实例属性:实例对象所拥有的属性,则是以为self.开头 (实例也能访问类变量)

3、实例方法、静态方法、类方法

实例方法:类的实例能使用的方法

静态方法:普通函数就位于类定义的命名空间中,它不会对任何实例类型进行操作。需要使用装饰器@staticmethod定义静态方法 (类对象和实例都可以调用静态方法)

类方法:将类本身作为对象进行操作的方法。使用@classmethod装饰器定义,其第一个参数是类,约定写为cls(类对象和实例都可以调用类方法)

4、总结:

类方法的第一个参数是类对象cls,那么通过cls引用的必定是类对象的属性和方法;

而实例方法的第一个参数是实例对象self,那么通过self引用的可能是类属性、也有可能是实例属性(这个需要具体分析),不过在存在相同名称的类属性和实例属性的情况下,实例属性优先级更高。

静态方法中不需要额外定义参数,因此在静态方法中引用类属性的话,必须通过类对象来引用

原文地址:https://www.cnblogs.com/xidianzxm/p/12264256.html