python中一切皆物件
class ***:定義的類屬於類物件
obj1 = ***()屬於例項物件
在程式執行時,類同樣會載入到記憶體,類物件在記憶體中只有乙份,使用乙個類可以建立出很多例項物件
除了封裝例項的屬性和方法外,類物件還可以擁有自己的屬性和方法
類屬性和例項屬性
類屬性就是給類物件中定義屬性,通常用來記錄與這個類相關的特性,類屬性不會用於記錄具體物件的特徵
class ***(object):
#使用賦值語句,定義類屬性
count = 0
屬性獲取機制
在python中屬性獲取存在乙個向上查詢的機制
使用"物件名.屬性"時,首先在物件內部查詢,若沒有,則向上查詢類屬性
在訪問類屬性是一般不採用"物件名.類屬性"的方式(不推薦)
如果使用這種方式物件名.類屬性 = 值,只會給物件新增乙個屬性,而不會影響到類屬性的值
直接使用"類名.類屬性"。
類方法和靜態方法
類屬性:就是針對類物件定義的屬性
使用賦值語句在class關鍵字下方定義類屬性
類屬性用於記錄與這個類相關的特性
類方法:就是針對類物件定義的方法
在類方法內部直接訪問類屬性或者呼叫其他的類方法
@classmethod
def 類方法名(cls):
pass
類方法需要修飾器@classmethod來標識
類方法的第乙個引數應該是cls,哪個類呼叫該方法,cls就是哪個類的引用,與self相似
在使用類名呼叫類方法時,不需要傳遞cls引數
在類方法內部,可以通過cls.訪問類的屬性和呼叫類的其他方法
靜態方法
在開發時,既不需要訪問例項屬性/類屬性,也不需要呼叫例項方法/類方法,
此時可以把這個方法封裝成乙個靜態方法
@staticmethod
def 靜態方法名():
pass
靜態方法需要用修飾器@staticmethod來標識,通過類名.方法名來呼叫靜態方法
確定方法型別
1.例項方法:方法內部只需要訪問例項屬性
例項方法內部可以使用'類名.類屬性'訪問類屬性
2.類方法:方法內部只需要訪問類屬性
3.靜態方法:方法內部不需要訪問例項屬性和類屬性
python之物件導向
類 是乙個特殊的物件,class a 定義的類屬於 類物件 類的例項 obj a 屬於 例項物件 例項屬性 init 定義例項屬性 例項方法 self 物件名.方法名 類屬性 針對類物件定義的屬性,訪問類屬性方法 類名.類屬性 物件名.類屬性 類方法 針對類物件定義的方法,內部可直接訪問類屬性和其他...
python之物件導向
物件導向介紹 一 物件導向和面向過程 面向過程 核心過程二字,過程即解決問題的步驟,就是先幹什麼後幹什麼 基於該思想寫程式就好比在這是一條流水線,是一種機械式的思維方式 優點 複雜的過程流程化 缺點 擴充套件性差 物件導向 核心是物件二字,物件指特徵與技能的結合體 基於該思想編寫程式就好比在創造乙個...
Python之物件導向 物件導向基礎
一 面向過程 物件導向對比 1 面向過程 根據業務邏輯從上到下寫壘 2 函式式思想 將某功能 封裝到函式中,日後便無需重複編寫,僅呼叫函式即可 3 物件導向 對函式進行分類和封裝 1 2 3一步一步抽象,函式式是走向物件導向的中間步驟 函式式的應用場景 各個函式之間是獨立且無共用的資料 物件導向程式...