python之物件導向

2021-10-06 07:11:01 字數 1312 閱讀 6209

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一步一步抽象,函式式是走向物件導向的中間步驟 函式式的應用場景 各個函式之間是獨立且無共用的資料 物件導向程式...