Python物件導向基礎

2021-09-24 19:07:47 字數 1354 閱讀 4242

首先物件導向是一種程式設計思想,它是通用的

絕對不是說在python只有用class程式設計才是物件導向程式設計,class只是python提供給我們用來物件導向程式設計的一種語法結構

下面用純函式來進行物件導向程式設計:

def

dog(name,gender,

type):

defchishi

(dog)

:print

("%s吃了shi"

%dog[

"name"])

defjiao

(dog)

:print

("%s叫了汪汪汪"

%dog[

"name"])

definte()

: dogg=

return dogg

return inte(

)d1=dog(

"花花"

,"male"

,"泰迪"

)d1[

"jiao"

](d1)

下面用class語法再實現一遍:

class

dog:

def__init__

(self, name, gender,

type):

self.name=name

self.gender= gender

self.

type

=type

defchishi

(self)

:print

("%s吃了shi"

% self.name)

defjiao

(self)

:print

("%s叫了汪汪汪"

% self.name)

d1 = dog(

"花花"

,"male"

,"泰迪"

)d1.jiao(

)

比較一下,可以看出來:單純的乙個小的物件導向,class語法程式設計比用純函式更簡潔,容易理解。此外,class還有很多其他強大簡便,這也是python提供給我們的便利

但是還要再強調:class和物件導向不是唯一對應關係,應該說是包含關係。

物件導向有三個用特別裝飾器實現的屬性及方法:

@property -----------------靜態屬性

@classmethod-------------類方法

@staticmethod-------------靜態方法

詳見用描述符自定製靜態屬性property,靜態方法staticmethod,類方法classmethod

三大特性後續整理

python物件導向基礎 python物件導向基礎

面向過程與物件導向 面向過程的程式設計的核心是過程 流水線式思維 過程即解決問題的步驟,面向過程的設計就好比精心設計好的一條流水線,考慮周全什麼時候處理什麼東西。優點 極大降低了寫程式的複雜度,只需要順著要執行的步驟,堆疊 即可。缺點 一套流水線或者流程就是解決乙個問題,牽一髮而動全身。應用場景 一...

Python之物件導向 物件導向基礎

一 面向過程 物件導向對比 1 面向過程 根據業務邏輯從上到下寫壘 2 函式式思想 將某功能 封裝到函式中,日後便無需重複編寫,僅呼叫函式即可 3 物件導向 對函式進行分類和封裝 1 2 3一步一步抽象,函式式是走向物件導向的中間步驟 函式式的應用場景 各個函式之間是獨立且無共用的資料 物件導向程式...

python物件導向基礎

類是例項的模版,例項是根據類建立的乙個具體物件,每個物件都有相同的方法,但是各自的資料不同。如果要讓內部屬性不被外部訪問,可以把屬性的名稱前加上兩個下劃線 在python中,例項的變數名如果以 開頭,就變成了乙個私有變數 private 只有內部可以訪問,外部不能訪問 當子類和父類都存在相同的run...