python 基礎 物件導向 極精簡

2021-10-03 21:54:07 字數 2670 閱讀 3222

0萬物皆是物件

a=

1print

(type

(a))

print

(type

(int

))

結果:

物件由類例項化產生

1定義類和物件

定義類:

class

human

:#成員屬性

*** =

'man'

age =

18 name =

'小明'

height =

'180cm'

weight =

'60kg'

#成員方法

defeat

(self)

:print

('吃飯'

)def

drink

(self)

:print

('self:'

,self,

id(self)

)print

('喝水'

)def

sleep

(self)

:print

('睡覺'

)

例項化物件a:

a=human(

)print

("a:"

,a)

結果:a: <main.human object at 0x000000000257c518>

檢視物件a的資料型別:

print

("type(a):"

,type

(a))

結果:type(a):

檢視物件a的屬性:

語法:物件.屬性
print

(a.***)

結果:man

呼叫物件a的方法:

語法:物件.方法()
a.eat(

)

結果:吃飯

self

self即物件a

在物件使用方法的時候,當前物件會作為第乙個引數的實參傳入。

class

human

:#成員屬性

*** =

'man'

#成員方法

defdrink

(self)

:print

('self:'

,self,

id(self)

)print

('喝水'

)a=human(

)print

("a:"

,a,id

(a))

a.drink(

)

結果:a: <main.human object at 0x000000000259c550> 39437648

self: <main.human object at 0x000000000259c550> 39437648

喝水2繼承

繼承的格式:

class 父類:

pass

class 子類(父類):

pass

注意:①在不指定父類的情況下,所有的類均繼承自object類。

②乙個類中,__init__初始化魔術方法不能出現兩次!

python呼叫父類中的方法【super().方法名()】

1、super().方法名()

2、父類名.方法名(self) #不加self會報異常,缺少1個位置引數,self指的是是誰呼叫的父類中的方法

3、super(當前類名,self).方法名()

注意:init,是構造方法或者建構函式,constructor,python不會自動呼叫父類的constructor,你得親自專門呼叫它。

兩種方法:

父類名.init(self,引數) #注意名字是父類

super(子類名,self).init(引數) #注意名字是子類,而且init後是self之外的引數

ifname== 『main』:

3魔術方法

魔術方法:一種特殊的方法。

1.__ init__初始化魔術方法

class

human

:#成員屬性

#成員方法

def__init__

(self)

: self.*** =

"man"

#例項化物件

a = human(

)print

(a.***)

結果:man

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

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

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

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

python物件導向基礎

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