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

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

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

前言

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

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

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

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

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

使用的區(qū)別:

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

總結(jié)

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

相關(guān)文章

  • Pycharm設(shè)置utf-8自動顯示方法

    Pycharm設(shè)置utf-8自動顯示方法

    今天小編就為大家分享一篇Pycharm設(shè)置utf-8自動顯示方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python中的groupby分組功能的實例代碼

    Python中的groupby分組功能的實例代碼

    這篇文章主要介紹了Python中的groupby分組功能的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-07-07
  • pytorch中torch.topk()函數(shù)的快速理解

    pytorch中torch.topk()函數(shù)的快速理解

    我們在做分類算法時,時常見到@acc1和@acc5的情況,@acc1比較容易實現(xiàn),但是一直苦于@acc5算法的實現(xiàn),在此為大家提供一種@topk的實現(xiàn)方法,這篇文章主要給大家介紹了關(guān)于pytorch中torch.topk()函數(shù)的快速理解,需要的朋友可以參考下
    2022-02-02
  • Flask登錄注冊項目的簡單實現(xiàn)

    Flask登錄注冊項目的簡單實現(xiàn)

    一個簡單的用戶注冊和登錄的頁面,涉及到驗證,數(shù)據(jù)庫存儲等等,本文主要介紹了Flask登錄注冊項目的簡單實現(xiàn),從目錄結(jié)構(gòu)開始,感興趣的可以了解一下
    2021-05-05
  • Python錯誤NameError:name?'X'?is?not?defined的解決方法

    Python錯誤NameError:name?'X'?is?not?defined的解決方法

    這篇文章主要給大家介紹了關(guān)于Python錯誤NameError:name?‘X‘?is?not?defined的解決方法,這是最近工作中遇到的一個問題,文中通過實例代碼將解決的方法介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • Python實例練習(xí)逆序輸出字符串講解

    Python實例練習(xí)逆序輸出字符串講解

    今天小編就為大家分享一篇關(guān)于Python字符串逆序輸出的實例講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2022-05-05
  • Python并發(fā)concurrent.futures和asyncio實例

    Python并發(fā)concurrent.futures和asyncio實例

    這篇文章主要介紹了Python并發(fā)concurrent.futures和asyncio實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • pyinstaller通過spec文件打包py程序的步驟

    pyinstaller通過spec文件打包py程序的步驟

    這篇文章主要介紹了pyinstaller通過spec文件打包py程序,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • 詳解python itertools功能

    詳解python itertools功能

    itertools是python內(nèi)置的模塊,使用簡單且功能強大,這里嘗試匯總整理下,并提供簡單應(yīng)用示例,這篇文章主要介紹了python itertools功能,需要的朋友可以參考下
    2020-02-02
  • Django實戰(zhàn)之用戶認(rèn)證(用戶登錄與注銷)

    Django實戰(zhàn)之用戶認(rèn)證(用戶登錄與注銷)

    這篇文章主要介紹了Django實戰(zhàn)之用戶認(rèn)證(用戶登錄與注銷),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07

最新評論

隆尧县| 河东区| 兴文县| 巍山| 阳谷县| 新郑市| 阿坝县| 奉节县| 道真| 开化县| 石柱| 尤溪县| 宜兰市| 东辽县| 越西县| 赤城县| 永清县| 开原市| 乐亭县| 通道| 宁夏| 海城市| 涞水县| 玛多县| 永兴县| 浦东新区| 苍山县| 通化县| 融水| 岳阳市| 清水河县| 手游| 南充市| 高邮市| 永胜县| 安陆市| 新营市| 准格尔旗| 凤凰县| 志丹县| 沽源县|