最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼

 更新時間:2020年12月14日 10:09:41   作者:levi  
這篇文章主要介紹了詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文主要介紹Python中,class(類)的裝飾器@staticmethod和@classmethod的使用示例代碼和它們的區(qū)別。

1、@staticmethod和@classmethod區(qū)別

@staticmethod:靜態(tài)方法

@classmethod:類方法

一般來說,要使用某個類的方法,需要先實例化一個對象再調(diào)用方法。

而使用@staticmethod或@classmethod,就可以不需要實例化,直接通過類名就可以實現(xiàn)調(diào)用

使用:直接類名.方法名()來調(diào)用。@staticmethod和@classmethod都可以直接類名.方法名()來調(diào)用,

@staticmethod不需要表示自身對象的self和自身類的cls參數(shù)(這兩個參數(shù)都不需要添加),就跟使用函數(shù)一樣。

使用:直接類名.屬性名或直接類名.方法名。

@classmethod也不需要self參數(shù),但第一個參數(shù)需要是表示自身類的cls參數(shù)。

使用:直接類名.屬性名或直接類名.方法名。

兩者定義的裝飾器調(diào)用方法一樣,但是@classmethod裝飾器定義的類方法需要傳入類參數(shù)cls。

@staticmethod中要調(diào)用到這個類的一些屬性方法,只能直接類名.屬性名或類名.方法名。

而@classmethod有cls參數(shù),可以來調(diào)用類的屬性,類的方法,實例化對象等,避免硬編碼更靈活。

2、@staticmethod和@classmethod使用示例代碼

class A(object):
  def foo(self, x):
    print "executing foo(%s, %s)" % (self, x)
  @classmethod
  def class_foo(cls, x):
    print "executing class_foo(%s, %s)" % (cls, x)
  @staticmethod
  def static_foo(x):
    print "executing static_foo(%s)" % x  
a = A()
#通過實例調(diào)用方法,對象實例a作為第一個參數(shù)隱式傳遞。
a.foo (1)
# executing foo(<__main__.A object at 0xb7dbef0c>,1)
#對于類方法,對象實例的類將隱式地作為第一個參數(shù)而不是傳遞self
a.class_foo(1)
# executing class_foo(<class '__main__.A'>,1)
#使用這個類調(diào)用class_foo
A.class_foo(1)
# executing class_foo(<class '__main__.A'>,1)
#對于staticmethods,self(對象實例)和cls(類)都不會作為第一個參數(shù)隱式傳遞。它們的行為類似普通函數(shù),除了你可以從實例或類中調(diào)用它們
a.static_foo(1)
# executing static_foo(1)
A.static_foo('hi')
# executing static_foo(hi)
print(a.foo)
# <bound method A.foo of <__main__.A object at 0xb7d52f0c>>
print(a.class_foo)
# <bound method type.class_foo of <class '__main__.A'>>
print(a.static_foo)
# <function static_foo at 0xb7d479cc>
print(a.static_foo)
# <function static_foo at 0xb7d479cc>
 

總結(jié)一下彼此的調(diào)用區(qū)別:

到此這篇關(guān)于詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼的文章就介紹到這了,更多相關(guān)Python @staticmethod和@classmethod內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pandas去重復(fù)行并分類匯總的實現(xiàn)方法

    pandas去重復(fù)行并分類匯總的實現(xiàn)方法

    這篇文章主要介紹了pandas去重復(fù)行并分類匯總的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • Python實現(xiàn)功能完整的個人員管理程序

    Python實現(xiàn)功能完整的個人員管理程序

    這篇文章主要介紹了Python實現(xiàn)功能完整的個人員管理程序,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • Pycharm中的Python?Console用法解讀

    Pycharm中的Python?Console用法解讀

    這篇文章主要介紹了Pycharm中的Python?Console用法解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python實現(xiàn)畫箱線圖展示數(shù)據(jù)分布情況

    Python實現(xiàn)畫箱線圖展示數(shù)據(jù)分布情況

    這篇文章主要介紹了Python實現(xiàn)畫箱線圖展示數(shù)據(jù)分布情況,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 基于python實現(xiàn)開箱即用的桌面時鐘

    基于python實現(xiàn)開箱即用的桌面時鐘

    這篇文章主要為大家詳細介紹了如何基于python實現(xiàn)開箱一個即用的桌面時鐘,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的小伙伴可以參考下
    2023-12-12
  • 解決Tensorboard可視化錯誤:不顯示數(shù)據(jù) No scalar data was found

    解決Tensorboard可視化錯誤:不顯示數(shù)據(jù) No scalar data was found

    今天小編就為大家分享一篇解決Tensorboard可視化錯誤:不顯示數(shù)據(jù) No scalar data was found,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 詳解Python繪圖Turtle庫

    詳解Python繪圖Turtle庫

    Turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫,這篇文章主要介紹了Python繪圖Turtle庫的相關(guān)知識,需要的朋友可以參考下
    2019-10-10
  • 使用Python讀取安卓手機的屏幕分辨率方法

    使用Python讀取安卓手機的屏幕分辨率方法

    下面小編就為大家分享一篇使用Python讀取安卓手機的屏幕分辨率方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Python腳本實時處理log文件的方法

    Python腳本實時處理log文件的方法

    Python腳本是用來對實時文件的內(nèi)容監(jiān)控。接下來通過本文給大家介紹Python腳本實時處理log文件的方法,需要的朋友參考下吧
    2016-11-11
  • python并發(fā)編程之多進程、多線程、異步和協(xié)程詳解

    python并發(fā)編程之多進程、多線程、異步和協(xié)程詳解

    本篇文章詳細的介紹了python并發(fā)編程之多進程、多線程、異步和協(xié)程,對初學(xué)python有一定的了解作用,需要的朋友可以參考下。
    2016-10-10

最新評論

肇州县| 会同县| 石首市| 神木县| 泸定县| 钟祥市| 昌黎县| 铜川市| 姜堰市| 甘谷县| 天长市| 清丰县| 台北市| 宜兰县| 临城县| 瑞安市| 东光县| 锡林郭勒盟| 荥阳市| 阿瓦提县| 远安县| 梧州市| 新乡市| 民权县| 海盐县| 新和县| 中超| 南宁市| 洛阳市| 出国| 仁怀市| 绵竹市| 乌拉特前旗| 西林县| 定襄县| 潮州市| 土默特右旗| 正镶白旗| 延川县| 揭阳市| 锦屏县|