django中類屬性和類方法的實現(xiàn)
django中直接定義類的屬性,可以直接在實例化對象或者類中調(diào)用。
類屬性:version_number是一個類屬性,在所有實例之間共享。它在類加載時就被初始化。
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什么時候需要類方法(@classmethod):
1、如果你需要定義一個方法,它需要訪問類級別的數(shù)據(jù)(如類屬性);
2、定義類方法,就是可以其他的這個類以外的方法也可以調(diào)用。
3、如果你需要定義一個方法,需要在方法中使用 cls 來創(chuàng)建類的實例
4、執(zhí)行其他與類相關的操作,那么你應該使用 @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這個例子中,get_version 是一個類方法,通過 @classmethod 裝飾器聲明,允許你訪問類屬性 version_number。如果你的需求是類似的,那么你就需要使用類方法。否則,如果只是需要在類定義時執(zhí)行某個函數(shù)并將結(jié)果存儲為類屬性,不需要將其定義為類方法。
到此這篇關于django中類屬性和類方法的實現(xiàn)的文章就介紹到這了,更多相關django 類屬性和類方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python開發(fā)SQLite3數(shù)據(jù)庫相關操作詳解【連接,查詢,插入,更新,刪除,關閉等】
這篇文章主要介紹了Python開發(fā)SQLite3數(shù)據(jù)庫相關操作,結(jié)合實例形式較為詳細的分析了Python操作SQLite3數(shù)據(jù)庫的連接,查詢,插入,更新,刪除,關閉等相關操作技巧,需要的朋友可以參考下2017-07-07
Django實現(xiàn)靜態(tài)文件緩存到云服務的操作方法
這篇文章主要介紹了Django實現(xiàn)靜態(tài)文件緩存到云服務的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08

