python 初識物件導向

2022-04-11 02:02:03 字數 2592 閱讀 7803

面向過程:

優點是:極大的降低了寫程式的複雜度,只需要順著要執行的步驟,堆疊**即可。

缺點是:一套流水線或者流程就是用來解決乙個問題,**牽一髮而動全身。

應用場景:一旦完成基本很少改變的場景,著名的例子有linux核心,git,以及apache http server等
物件導向:

優點:解決了程式的擴充套件性。對某乙個物件單獨修改,

會立刻反映到整個體系中,如對遊戲中乙個人物引數的特徵和技能修改都很容易。缺點:可控性差,無法向面向過程的程式設計流水線式的可以很精準的**問題的處理流程與結果,

物件導向的程式一旦開始就由物件之間的互動解決問題,即便是上帝也無法**最終結果。於是我們經常

看到乙個遊戲人某一引數的修改極有可能導致陰霸的技能出現,一刀砍死3個人,這個遊戲就失去平衡。

應用場景:需求經常變化的軟體,一般需求的變化都集中在使用者層,網際網路應用,企業內部軟體,

遊戲等都是物件導向的程式設計大顯身手的好地方。

一、 初識類和物件

python中一切皆為物件,型別的本質就是類

在python中,用變數表示特徵,用函式表示技能,

因而具有相同特徵和技能的一類事物就是『類』,物件是則是這一類事物中具體的乙個。

(一)類的相關知識

1.建立乙個類:
class person:   #

定義乙個人類

role = '

person'#

人的角色屬性都是人 也叫靜態屬性

def walk(self): #

人都可以走路,也就是有乙個走路方法,也叫動態屬性

print("

person is walking...

")

2.類有兩種作用:屬性引用和例項化
2.1 屬性引用(類名.屬性)
class person:            #

定義乙個類

role = '

person'#

人的角色屬性都是人

def__init__(self,name): #

self可以想象建立乙個字典,為了下面存key 和value

self:在例項化時自動將物件/例項本身傳給__init__的第乙個引數

self.name=neme #

每乙個角色都有自己的暱稱;

#第乙個name 可以隨便命名, 第二個是傳進來的引數,所以必須和引數用相同的名字

def walk(self): #

方法 --->人都可以走路,也就是有乙個走路方法

#print()或者return # 常用:

print(person.role) #

檢視人的role屬性

print(person.walk) #

引用人的走路方法,注意,這裡不是在呼叫

2.2例項化:類名加括號就是例項化,會自動觸發__init__函式的執行,例項化的過程就是類——>物件的過程
可以用它來為每個例項定製自己的特徵  例項化語法:物件名 = 類名(引數)
egg = person('

egon

') #

類名()就等於在執行person.__init__()

#執行完__init__()就會返回乙個物件。這個物件類似乙個字典,存著屬於這個人本身的一些屬性和方法。

#你可以偷偷的理解:egg =

3.檢視屬性&呼叫方法:

print(egg.name)     #

檢視屬性直接 物件名.屬性名

print(egg.walk()) #

呼叫方法,物件名.方法名() ==person.walk(egg) 不常用

print(person.__dict__)#

檢視類的字典屬性

(二)物件的相關知識
物件是關於類而實際存在的乙個例子,即例項

物件/例項只有一種作用:屬性引用

from math import

piclass

cicrle:

def__init__

(self,r):

self.r=r

defl(self):

l=2*pi*self.r

print

(l)

defs(self):

s=pi*self.r**2

print

(s)l=cicrle(2)

print(l.r) #

2

Python初識物件導向

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

python之初識物件導向

2 什麼是物件導向程式設計 1 面向過程的程式設計思想 1.1 程式設計思想的定義程式設計思想就是編寫程式的套路,與具體的技術點無關1.2 面向過程的定義及優缺點核心是過程二字,過程就是解決問題的步驟,也就是先幹什麼 再幹什麼 後幹什麼 過程的終極奧義就是將程式流程化 過程是 流水線 用來分步驟解決...

物件導向 初識物件導向

面向過程思想 步驟清晰簡單,第一步做什麼,第二步做什麼.面向過程適合處理一些較為簡單的問題 物件導向思想 物以類聚,分類的思維模式,思考問題首先會解決問題需要分哪些類,然後對這些類進行單獨思考,最後才是對某個分類下的細節進行面向過程的思索 物件導向適合處理複雜的問題,適合處理需要多人協作的問題 對於...