python中的类(3)-类方法/静态方法

时间:2021-09-03
本文章向大家介绍python中的类(3)-类方法/静态方法,主要包括python中的类(3)-类方法/静态方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

python中的类方法与静态方法

  面相对象程序设计中,类方法和静态方法是经常用到的两个术语。

  逻辑上讲:类方法是只能由类名调用;静态方法可以由类名或对象名进行调用。

类方法:

  在python中.类方法 @classmethod 是一个函数修饰符,它表示接下来的是一个类方法,而对于平常我们见到的则叫做实例方法。

类方法的第一个参数cls,而实例方法的第一个参数是self,表示该类的一个实例。

class Test():
    def __init__(self,name):
        self.a = name
    @classmethod #类方法的装饰器,用于修饰这个方法
    def func(cls):#cls 代表的是class

        print('这是一个类方法')

if __name__ == '__main__':

    Test.func() #类调用
    a = Test("小王")
    a.func() #类的实例进行调用
注意 :a, 类方法不仅可以通过实例化对象调用还可以通过类名称直接调用
      b, 不能调用构造函数(实例方法)中的属性变量
      c,可以调用类变量

静态方法:

  静态方法是类中的函数,不需要实例。静态方法主要是用来存放逻辑性的代码,主要是一些逻辑属于类,但是和类本身没有交互,

在静态方法中,不会涉及到类中的方法和属性的操作。

class Test():
    def __init__(self,name):
        self.a = name

    @staticmethod #装饰器,表示他是一个静态方法
    def func():
        print("这是一个静态方法")


if __name__ == '__main__':

    Test.func() #类调用
    a = Test("小王")
    a.func() #类的实例进行调用

注意:

      a,静态方法中没有默认的形

       b,静态方法需要通过装饰@staticmethod修饰
       c, 静态方法不仅可以通过实例化对象调用还可以通过类名称直接调用
       d,不能调用构造函数(实例方法)中的属性变量
       e, 不可以调用类变量

  

原文地址:https://www.cnblogs.com/manxingsir/p/15223203.html