staticmethodclassmethod的使用

Posted 云烟成雨。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了staticmethodclassmethod的使用相关的知识,希望对你有一定的参考价值。

                 staticmethod

首先要明白两个概念

  绑定方法:但凡是定义在类的内部,并且没有被任何装饰器修饰过的方法,就是绑定方法,并且有自动传值功能。类直接调用该方法时,改方法叫做类的函数属性;对象在调用该方法时,该方法叫绑定方法。

示例:

  只要是类中的函数没有被装饰器修饰,就会自动传值,该函数在对象调用时为绑定方法;类直接调用时,始终为功能函数

class  A:
    # @staticmethod
    def  foo(self):
        print("AAA")

a  = A()
print(a.foo)
print(A.foo)#只要是写成"类名.方法名"的格式,不管该方法在类中是否被装饰器修饰,最终打印得到的都是函数方法,因为对于这种
# 调用方式,类中的方法始终都是类中的方法函数

  当类中的函数被装饰器装饰后,在对象调用时和用类直接调用时,均为功能函数或方法函数

class  A:
    @staticmethod
    def  foo():
        print("AAA")

a  = A()
print(a.foo)
print(A.foo)#只要是写成"类名.方法名"的格式,不管该方法在类中是否被装饰器修饰,最终打印得到的都是函数方法,因为对于这种
# 调用方式,类中的方法始终都是类中的方法函数

  

staticmethod

  作用:

    1.解除类中绑定方法的绑定,使该方法不需要通过"对象.方法名"的形式进行调用,反而直接使用"类名.方法名"的形式调用,使该方法成为类的方法直接使用。

    2.方法在类中定义时,在类名后的()内不需要些self

示例:

  

class  A:
    @staticmethod
    def  foo():
        print("AAA")

A.foo#使用该方式,可直接调用类中的foo方法,不需要实例化调用

  classmethod

 

以上是关于staticmethodclassmethod的使用的主要内容,如果未能解决你的问题,请参考以下文章

FPGA两种寄存器的使能

JavaScript 的使?

JavaScript 的使?

python paramiko模块的使

python paramiko模块的使

javascript jQuery的使わずトグルクラス