Python 類方法和實例方法(@classmethod),靜態(tài)方法(@staticmethod)原理與用法分析
本文實例講述了Python 類方法和實例方法(@classmethod),靜態(tài)方法(@staticmethod)。分享給大家供大家參考,具體如下:
demo.py(類方法,@classmethod):
class Tool(object): # 使用賦值語句定義類屬性,記錄所有實例化工具對象的數(shù)量 count = 0 # @classmethod 定義類方法. 第一個參數(shù)是cls (cls用于訪問類屬性和類方法,不能訪問實例屬性/方法) @classmethod def show_tool_count(cls): # 不能訪問實例屬性 print("工具對象的數(shù)量 %d" % cls.count) # cls.類屬性名 訪問類屬性(類方法中) def __init__(self, name): self.name = name # 實例屬性 # 類名.類屬性名 訪問類屬性(實例方法中) Tool.count += 1 # 實例化工具對象 tool1 = Tool("斧頭") # tool1.__class__屬性指向類對象。 tool1.__class__.count實例對象訪問類屬性 tool2 = Tool("榔頭") # 類名.類方法 調(diào)用類方法 Tool.show_tool_count()
運行結(jié)果:
工具對象的數(shù)量 2
demo.py(靜態(tài)方法,@staticmethod):
class Dog(object): # @staticmethod 定義靜態(tài)方法;靜態(tài)方法內(nèi)部不能訪問類屬性/方法和實例屬性/方法。不需要傳默認參數(shù)。 # Python中的靜態(tài)方法與在類外部定義的普通函數(shù)作用相同,只是表明該函數(shù)僅供該類使用。 @staticmethod def run(): # 不能訪問實例屬性/類屬性 print("小狗要跑...") # 類名.靜態(tài)方法名 調(diào)用靜態(tài)方法,不需要創(chuàng)建對象 (也可以通過實例對象調(diào)用) Dog.run()
運行結(jié)果:
小狗要跑...
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計入門與進階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python linecache讀取行更新的實現(xiàn)
本文主要介紹了python linecache讀取行更新的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03python pyecharts 實現(xiàn)一個文件繪制多張圖
這篇文章主要介紹了python pyecharts 實現(xiàn)一個文件繪制多張圖,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05從頭學(xué)Python之編寫可執(zhí)行的.py文件
這篇文章主要介紹了從頭學(xué)Python之編寫可執(zhí)行的.py文件,具有一定參考價值,需要的朋友可以了解下。2017-11-11使用Pandas實現(xiàn)可視化帶有標(biāo)簽列的數(shù)據(jù)表
Pandas是Python中一個靈活強大的數(shù)據(jù)處理庫,它提供了大量數(shù)據(jù)操作和分析工具,本文我們將討論如何使用Pandas可視化帶有標(biāo)簽列的數(shù)據(jù)表,以便更好地呈現(xiàn)和傳達數(shù)據(jù)的信息,需要的可以了解下2024-02-02Win10下安裝CUDA11.0+CUDNN8.0+tensorflow-gpu2.4.1+pytorch1.7.0+p
這篇文章主要介紹了Win10下安裝CUDA11.0+CUDNN8.0+tensorflow-gpu2.4.1+pytorch1.7.0+paddlepaddle-gpu2.0.0,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03利用Python代碼實現(xiàn)數(shù)據(jù)可視化的5種方法詳解
在數(shù)據(jù)科學(xué)中,有多種工具可以進行可視化。下面這篇文章主要給大家介紹了關(guān)于利用Python代碼實現(xiàn)數(shù)據(jù)可視化的5種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2018-03-03