django中類屬性和類方法的實(shí)現(xiàn)
django中直接定義類的屬性,可以直接在實(shí)例化對(duì)象或者類中調(diào)用。
類屬性:version_number是一個(gè)類屬性,在所有實(shí)例之間共享。它在類加載時(shí)就被初始化。
class Book: version_number = "1.0.0" def __init__(self, title, author): self.title = title self.author = author @classmethod def get_version(cls): return cls.version_number # 使用類方法 print(Book.get_version()) # 輸出: 1.0.0
什么時(shí)候需要類方法(@classmethod):
1、如果你需要定義一個(gè)方法,它需要訪問類級(jí)別的數(shù)據(jù)(如類屬性);
2、定義類方法,就是可以其他的這個(gè)類以外的方法也可以調(diào)用。
3、如果你需要定義一個(gè)方法,需要在方法中使用 cls 來創(chuàng)建類的實(shí)例
4、執(zhí)行其他與類相關(guān)的操作,那么你應(yīng)該使用 @classmethod。
class Book: version_number = "1.0.0" def __init__(self, title, author): self.title = title self.author = author @classmethod def get_version(cls): return cls.version_number # 使用類方法 print(Book.get_version()) # 輸出: 1.0.0
這個(gè)例子中,get_version 是一個(gè)類方法,通過 @classmethod 裝飾器聲明,允許你訪問類屬性 version_number。如果你的需求是類似的,那么你就需要使用類方法。否則,如果只是需要在類定義時(shí)執(zhí)行某個(gè)函數(shù)并將結(jié)果存儲(chǔ)為類屬性,不需要將其定義為類方法。
到此這篇關(guān)于django中類屬性和類方法的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)django 類屬性和類方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python正則表達(dá)式實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能示例
這篇文章主要介紹了Python正則表達(dá)式實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能,涉及Python正則判定及數(shù)值計(jì)算相關(guān)操作技巧,需要的朋友可以參考下2019-05-05Python中單引號(hào)、雙引號(hào)和三引號(hào)具體的用法及注意點(diǎn)
這篇文章主要給大家介紹了關(guān)于Python中單引號(hào)、雙引號(hào)和三引號(hào)具體的用法及注意點(diǎn)的相關(guān)資料,Python中單引號(hào)、雙引號(hào)、三引號(hào)中使用常常困惑,想弄明白這三者相同點(diǎn)和不同點(diǎn),需要的朋友可以參考下2023-07-07解決nohup執(zhí)行python程序log文件寫入不及時(shí)的問題
今天小編就為大家分享一篇解決nohup執(zhí)行python程序log文件寫入不及時(shí)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01django框架自定義模板標(biāo)簽(template tag)操作示例
這篇文章主要介紹了django框架自定義模板標(biāo)簽(template tag)操作,結(jié)合實(shí)例形式分析了Django框架自定義模板標(biāo)簽原理、操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-06-06Python內(nèi)置函數(shù) next的具體使用方法
這篇文章主要介紹了Python內(nèi)置函數(shù) next的具體使用方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11Python大數(shù)據(jù)之從網(wǎng)頁上爬取數(shù)據(jù)的方法詳解
這篇文章主要介紹了Python大數(shù)據(jù)之從網(wǎng)頁上爬取數(shù)據(jù)的方法,結(jié)合實(shí)例形式詳細(xì)分析了Python爬蟲爬取網(wǎng)頁數(shù)據(jù)的相關(guān)操作技巧,需要的朋友可以參考下2019-11-11Python+OpenCV實(shí)現(xiàn)車牌字符分割和識(shí)別
這篇文章主要為大家詳細(xì)介紹了Python+OpenCV實(shí)現(xiàn)車牌字符分割和識(shí)別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03Pytorch數(shù)據(jù)讀取之Dataset和DataLoader知識(shí)總結(jié)
Dataset和DataLoader都是Pytorch里面讀取數(shù)據(jù)的工具.現(xiàn)在對(duì)這兩種工具做一個(gè)概括和總結(jié),對(duì)正在學(xué)習(xí)Pytorch的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05