python实例方法、类方法、静态方法的区别与作用

类中有3种常用的方法:实例方法,类方法、静态方法.

 

实例方法

 

    定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传的属性和方法);

 

    调用:只能由实例对象调用。

 

类方法

 

    定义:使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递的属性和方法(不能传实例的属性和方法);

 

    调用:类对象或实例对象都可以调用。   也就是可以直接用类名调用了,不用再给实体对象。

 

静态方法

 

    定义:使用装饰器@staticmethod。参数随意,没有“self”“cls”参数,但是方法体中不能使用类或实例任何属性和方法

 

    调用:类对象或实例对象都可以调用。

 

静态方法是类中的函数,不需要实例。静态方法主要是用来存放逻辑性的代码,逻辑上属于类,但是和类本身没有关系,也就是说在静态方法中,不会涉及到类中的属性和方法的操作。可以理解为,静态方法是个独立的、单纯的函数,它仅仅托管于某个类的名称空间中,便于使用和维护。例:

 

 

 

 

 

 

 

 

 

 例子:

 

@property

把方法当做一种特殊的属性,使用方式为p.number,对应的方法还是要有self

 

 

 

posted @ 2020-05-28 13:53  7dao  阅读(283)  评论(0编辑  收藏  举报