亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python classmethod裝飾器原理及用法解析

 更新時(shí)間:2020年10月17日 10:00:36   作者:lincappu  
這篇文章主要介紹了Python classmethod裝飾器原理及用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

英文文檔:

classmethod(function)

Return a class method for function.

A class method receives the class as implicit first argument, just like an instance method receives the instance. To declare a class method, use this idiom:

class C:
@classmethod
def f(cls, arg1, arg2, ...): ...
The @classmethod form is a function decorator – see the description of function definitions in Function definitions for details.

It can be called either on the class (such as C.f()) or on an instance (such as C().f()). The instance is ignored except for its class. If a class method is called for a derived class, the derived class object is passed as the implied first argument.

Class methods are different than C++ or Java static methods. If you want those, see staticmethod() in this section.

  標(biāo)記方法為類(lèi)方法的裝飾器

說(shuō)明:

  1. classmethod 是一個(gè)裝飾器函數(shù),用來(lái)標(biāo)示一個(gè)方法為類(lèi)方法

  2. 類(lèi)方法的第一個(gè)參數(shù)是類(lèi)對(duì)象參數(shù),在方法被調(diào)用的時(shí)候自動(dòng)將類(lèi)對(duì)象傳入,參數(shù)名稱(chēng)約定為cls

  3. 如果一個(gè)方法被標(biāo)示為類(lèi)方法,則該方法可被類(lèi)對(duì)象調(diào)用(如 C.f()),也可以被類(lèi)的實(shí)例對(duì)象調(diào)用(如 C().f())

>>> class C:
  @classmethod
  def f(cls,arg1):
    print(cls)
    print(arg1)
    
>>> C.f('類(lèi)對(duì)象調(diào)用類(lèi)方法')
<class '__main__.C'>
類(lèi)對(duì)象調(diào)用類(lèi)方法

>>> c = C()
>>> c.f('類(lèi)實(shí)例對(duì)象調(diào)用類(lèi)方法')
<class '__main__.C'>
類(lèi)實(shí)例對(duì)象調(diào)用類(lèi)方法

  4. 類(lèi)被繼承后,子類(lèi)也可以調(diào)用父類(lèi)的類(lèi)方法,但是第一個(gè)參數(shù)傳入的是子類(lèi)的類(lèi)對(duì)象

>>> class D(C):
  pass

>>> D.f("子類(lèi)的類(lèi)對(duì)象調(diào)用父類(lèi)的類(lèi)方法")
<class '__main__.D'>
子類(lèi)的類(lèi)對(duì)象調(diào)用父類(lèi)的類(lèi)方法

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論