python实例方法,类方法和静态方法区别

@为python中的装饰器

实例方法

        实例方法时直接定义在类中的函数,不需要任何修饰。只能通过类的实例化对象来调用。不能通过类名来调用。

python实例方法,类方法和静态方法区别_第1张图片

 类方法

        类方法,是类中使用@classmethod修饰的函数。类方法在定义的时候需要有表示类对象的参数(一般命名为cls,cls是一个类对象)。类方法可以通过实例化对象或者类名调用。

        注意:在python中类名也是一个没有实例属性和实例方法的对象。这里所说的类对象是类本身,而非实例化对象。

        类方法是属于整个类的方法。在类方法中不能调用实例对象和方法,可以调用类方法,类对象和静态方法。调用方法必须使用类对象调用。

python实例方法,类方法和静态方法区别_第2张图片

 静态方法

        静态方法,是类中适用@staticmethod修饰的函数。静态方法中不需要参数,类方法可以通过实例化对象或类名访问。

        静态方法属于整个类,只能调用静态属性和静态方法,不能调用非静态属性和方法(如果想调用,必须先new一个类对象)。非静态方法即能调用静态属性和方法,又能调用非静态属性和方法。

        注意:在静态函数中调用是需要使用类名调用。类属性就是静态属性。

python实例方法,类方法和静态方法区别_第3张图片

 

你可能感兴趣的:(python,java)