Python3 物件導向程式設計(類和物件)

2021-10-08 10:48:38 字數 2175 閱讀 8487

今天想和大家聊聊物件導向中的類和物件,其實一開始我學的雲裡霧裡,借鑑了乙個我以前看到過的解釋,希望可以用大家容易理解的方式來說道說道。

生活中每乙個具體的東西都可以被認為是物件,例如華為p40、小公尺10、蘋果11、oppo等手機,你可以認為這些物體是「物件」,雖然他們各不相同、各有特色,但是都可以歸結為「手機類」,因為具有相同的屬性,例如都有攝像頭、電池、顯示屏等。也有共同的功能方法,例如都可以打**、發簡訊、刷微博等。

類就是把有相同(屬性)和(方法)的「物件」歸結在一起。

以上這幾個具體的手機都是「手機類」例項化出來的「物件」

舉例:精華——雅詩蘭黛小棕瓶

程式語言——python

車——賓士

單身狗——你我他

#英雄類

class

hero

:#建構函式給例項變數賦值,定義兩個形參

def__init__

(self,chinesename,slogan)

:#引數傳給例項變數

#chinesename,slogan是所有英雄都會包含的屬性

#例項變數(成員變數)

self.chinesname=chinesename

self.slogan=slogan

#定義乙個函式例項對此描述(例項方法)

deffalsh

(self)

:print

(self.chinesname+

":我閃了過去"

) yasuo=hero(

"亞索"

,"death is like wind"

) yasuo.flash(

)print

(yasuo.slogan)

print

(yasuo.__dict__)

在類的方法中(如__init__),第一引數永遠是self,表示建立的類例項本身,而不是類本身。

self代表當前物件的位址。self能避免非限定呼叫造成的全域性變數。

self不是python的關鍵字,也可以用其他名稱命名,但是為了規範和便於讀者理解,推薦使用self。

1、全域性變數:在模組內、在所有函式外面、在class外面。

2、區域性變數:在函式內、在class的方法內(未加self修飾的)。

3、 靜態變數:在class內的,但不在class的方法內的。

4、 例項變數:在class的方法內的,用self修飾的變數。

例子

class

bankaccount

:#constructor構造器

def__init__

(self,accountnumber,accountname,balance)

: self.accountnumber=accountnumber

self.accountname=accountname

self.balance=balance

#存錢

defdeposit

(self,amount)

: self.balance=self.balance+amount

#取錢defwithdraw

(self,amount)

: self.balance=self.balance-amount

def__str__

(self)

:return

"({},{})"

.format

(self.accountnumber,self.balance)

b1=bankaccount(

"98"

,"tom"

,520

)b2=bankaccount(

"19"

,"jerry"

,999

)#tom取100元錢

b1.withdraw(

100)

#jerry存159元

b2.deposit(

150)

print

(b1.balance)

print

(b2.balance)

print

(b1.balance

Python3 物件導向程式設計 類

一 自定義類 1 屬性與方法 格式 class classname def init self,a,b self.a a self.b b def 一般都有乙個 init 函式來定義屬於這個類的引數,前後都被 包圍的函式為特殊方法 以 開頭的變數只能讀,不能寫,相當於private資料。如果重新實現...

Python3 物件導向程式設計

python使用class關鍵字來定義類 class car definfor self print this is a car car car car.infor 內建方法isinstance 來測試乙個物件是否為某個類的例項 公有成員 既可以在類的內部訪問,也可以在外部程式中使用 在idle環境...

python3 物件導向 類和例項

面向過程的程式設計把電腦程式視為一系列的命令集合,即一組函式的順序執行。為了簡化程式設計,面向過程把函式繼續切分為子函式,即把大塊函式通過切割成小塊函式來降低系統的複雜度。物件導向程式設計 object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的...