python3 classmethod

Posted

tags:

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

classmethod是用来指定一个类的方法为类方法,没有此参数指定的类的方法为实例方法,使用方法如下

class C:
    @classmethod
    def f(cls, arg1, arg2, ...): ...

类方法既可以直接类调用 C.f()

也可以进行实例调用 C().f()

具体实现:

>>> class C:
...     @classmethod
...     def f(self):
...             print "This is a class method"
...
>>> C.f()
This is a class method
>>> c = C()
>>> c.f()
This is a class method
>>> class D:
...     def f(self):
...             print " This is not a class method "
...
>>> D.f()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unbound method f() must be called with D instance as first argument (got nothing instead)
>>> d = D()
>>> d.f()
This is not a class method

 

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

Python3+selenium-unittest之装饰器(@classmethod)

学习笔记:python3,代码片段(2017)

scrapy主动退出爬虫的代码片段(python3)

scrapy按顺序启动多个爬虫代码片段(python3)

W7_staticmethod_classmethod_property_反射_exception_socket

python常用代码片段总结