欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Python中的靜態(tài)方法與類成員方法

 更新時間:2017年02月28日 08:55:45   作者:乘物游心  
這篇文章主要介紹了關于Python中靜態(tài)方法與類成員的相關資料,文中通過示例代碼給大家詳細總結了兩者在語法和使用上的區(qū)別,有需要的朋友可以參考借鑒,下面來一起看看吧。

前言

因為Python的水平目前一直是處于能用階段,平時寫的腳本使用的Python的寫法也比較的簡單,沒有寫過稍微大一點的項目。對Python中的類,類之間的組織關系,整個項目中類之間如何耦合還缺乏認識。打算讀一讀別人寫的Python代碼來學習一下Python在工程中的應用,提升自己的技術水平。選取的Python代碼是Python爬蟲代碼,github地址。這個代碼剛好是符合跳出我的舒適區(qū)的水平的代碼,因此很適合我目前的水平來學習。

在Python2.4之后,主要使用裝飾器來實現(xiàn)靜態(tài)方法和類方法。

裝飾器使用@操作符,例子如下:

class Example:
 val1 = "Value 1"
 def __init__(self):
 self.val2 = "Value 2"

 @staticmethod
 def staticmd():
 print("靜態(tài)方法,無法訪問Value1和Value2")

 @classmethod
 def classmd(cls):
 print('類方法,類:'+str(cls)+",val1:"+cls.val1+",無法訪問val2的值")


example = Example()
example.staticmd() #實例調用靜態(tài)方法,無法訪問實例變量val1和val2
example.classmd() #實例調用類方法,輸出結果:類方法,類:<class '__main__.Example'>,val1:Value 1,無法訪問val2的值
Example.classmd() #類調用類方法,輸出結果:類方法,類:<class '__main__.Example'>,val1:Value 1,無法訪問val2的值
example.val1 = "The instance value1 changed"
example.classmd() #類調用類方法,輸出結果:類方法,類:<class '__main__.Example'>,val1:Value 1,無法訪問val2的值
Example.val1 = "The class value2 changed"
example.classmd() #類調用類方法,輸出結果:類方法,類:<class '__main__.Example'>,val1:The class value2 changed,無法訪問val2的值
Example.classmd() #類調用類方法,輸出結果:類方法,類:<class '__main__.Example'>,val1:The class value2 changed,無法訪問val2的值

相信從上面的例子中,就可以很明顯地分辨出靜態(tài)方法和類方法的區(qū)別了。

先是在語法上面的區(qū)別:

  • 靜態(tài)方法不需要傳入self參數(shù),類成員方法需要傳入代表本類的cls參數(shù);
  • 靜態(tài)方法是無妨訪問實例變量和類變量的,類成員方法無法訪問實例變量但是可以訪問類變量

使用的區(qū)別:

由于靜態(tài)方法無法訪問類屬性,實例屬性,相當于一個相對獨立的方法,跟類其實并沒有什么關系。這樣說來,靜態(tài)方法就是在類的作用域里的函數(shù)而已。

總結

好了,以上就是這篇文章的全部內容了,最后,如何在實際的項目中使用靜態(tài)方法和類方法,這個等一段時間有更深的體會再和大家交流吧。希望本文的內容對大家的學習或者工作能帶來一定的幫助。

相關文章

  • Python3 sys.argv[ ]用法詳解

    Python3 sys.argv[ ]用法詳解

    這篇文章主要介紹了Python3 sys.argv[ ]用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Python使用sklearn實現(xiàn)的各種回歸算法示例

    Python使用sklearn實現(xiàn)的各種回歸算法示例

    這篇文章主要介紹了Python使用sklearn實現(xiàn)的各種回歸算法,結合實例形式分析了Python使用sklearn庫實現(xiàn)的決策樹回歸、線性回歸、SVM回歸、KNN回歸、隨機森林回歸等各種回歸算法,需要的朋友可以參考下
    2019-07-07
  • python操作csv格式文件之csv.DictReader()方法

    python操作csv格式文件之csv.DictReader()方法

    這篇文章主要介紹了python操作csv格式文件之csv.DictReader()方法,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-06-06
  • python學習--使用QQ郵箱發(fā)送郵件代碼實例

    python學習--使用QQ郵箱發(fā)送郵件代碼實例

    這篇文章主要介紹了python使用QQ郵箱發(fā)送郵件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 通過Python的speech_recognition庫將音頻文件轉為文字

    通過Python的speech_recognition庫將音頻文件轉為文字

    recognize_google()?是Google提供的一種語音識別API,可以識別音頻文件或麥克風錄制的語音,并將其轉換為文本,這篇文章主要介紹了通過Python的speech_recognition庫將音頻文件轉為文字,需要的朋友可以參考下
    2023-05-05
  • 在Python中操作時間之strptime()方法的使用

    在Python中操作時間之strptime()方法的使用

    這篇文章主要介紹了在Python中操作時間之strptime()方法的使用,是Python入門學習中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • python算法加密 pyarmor與docker

    python算法加密 pyarmor與docker

    這篇文章主要介紹了python算法加密 pyarmor與docker,,PyArmor 是一個用于加密和保護 Python 腳本的工具。它能夠在運行時刻保護 Python腳本的二進制代碼不被泄露,設置加密后Python源代碼的有效期限,綁 定加密后的Python源代碼到硬盤、網(wǎng)卡等硬件設備
    2022-06-06
  • python隊列queue模塊詳解

    python隊列queue模塊詳解

    這篇文章主要為大家詳細介紹了python隊列queue模塊的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python實現(xiàn)智慧校園自動評教全新版

    Python實現(xiàn)智慧校園自動評教全新版

    上一次的智慧校園自動評教是用的selenium庫去模擬人去對瀏覽器進行點擊操作,雖然比手動評教要快,但是效率還是不高.從而想去嘗試重新寫一份不用selenium的評教方案,功夫不負有心人,最終成功了,需要的朋友可以參考下
    2021-06-06
  • Python中的可變變量與不可變變量的使用

    Python中的可變變量與不可變變量的使用

    本文主要介紹了Python中的可變變量與不可變變量的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-03-03

最新評論