python物件導向一

2021-09-28 23:05:14 字數 3403 閱讀 4472

什麼是物件?

物件就是記憶體中儲存指定資料的一塊區域,實際上物件就是乙個容器專門用來儲存資料

id(標識)

type(型別)

value(值)

所謂物件導向簡單理解就是語言中所有的操作都是通過物件來進行的

面向過程–>物件導向

把大象放進冰箱分幾步?

開啟冰箱--------對應開啟功能

裝大象----------對應儲存功能

關門-------------對應關閉功能

物件導向是一種思考問題的方式,物件導向是一種思想

物件導向將事物變得簡單化

大象放進冰箱,我面對的物件是冰箱,我知道物件的功能有開啟,儲存,關閉,至於冰箱是怎麼開啟,怎麼儲存,怎麼關閉的不需要我關心,我只要用就可以了。

通過物件,去使用物件所具有的功能

(分裝, 多型, 繼承)

比如,我去參加面試,面試官是我的物件,他的功能審核,評分

我也是面試官的物件,我的功能,回答,應聘

物件的含義是指具體的某乙個事物,即在現實生活中能夠看得見摸得著的事物。在物件導向程式設計中,物件所指的是計算機系統中的某乙個成分。在物件導向程式設計中,物件包含兩個含義,其中乙個是資料,另外乙個是動作。物件則是資料和動作的結合體。物件不僅能夠進行操作,同時還能夠及時記錄下操作結果

語法:class 類名([父類]):

**塊

class

myclass()

:pass

a = myclass(

)# 用myclass這個類建立了乙個物件mc,mc是myclass的例項

print

(int

)print

(myclass)

print

(myclass())

print

(a)#

# # <__main__.myclass object at 0x0000017c77dab588>

# <__main__.myclass object at 0x0000017c77dab288>

我們之前學的物件都是python的內建物件,如int,你可以看到int也是乙個類,和我們定義的類myclass(注意用駝峰命名法命名)一樣,都是一種類,是乙個物件

當我們列印a時返回的是類的記憶體位址值。

isinstance()

class

myclass()

:pass

a = myclass(

)r =

isinstance

(a, myclass)

r1 =

isinstance

(int

, myclass)

print

(r)print

(r1)

# true

# false

類是什麼?

class

myclass()

:pass

a = myclass(

)print(id

(myclass)

,type

(myclass)

)b =

10print(id

(b),

type

(b))

# 2133892710792

# 140706426417696

類是一種type類的物件

class

myclass()

:pass

a = myclass(

)a.name =

'spider man'

a.power =

'spin'

# spider man spin

print

(myclass(

).name)

# attributeerror: 'myclass' object has no attribute 'name'

我們通過』a.name = 『向myclass中新增變數,但是我們列印』myclass().name』,缺發現屬性錯誤,myclass物件中沒有屬性name

在記憶體中

資料(屬性)

行為(方法)

在類的**中,我們可以定義變數和函式

類中的變數叫屬性

class

people()

: name =

'batman'

age =

'30'

power =

'rich'

print

(name)

p = people(

)p.name =

'iron man'

print

(people)

self是什麼

class

people()

: name =

'batman'

age =

'30'

power =

'rich'

defsayhi

(self)

:print(id

(self)

,self)

p1 = people(

)p1.sayhi(

)print(id

(p1)

,p1)

# 2698834200392 <__main__.people object at 0x000002745f0dc748>

# 2698834200392 <__main__.people object at 0x000002745f0dc748>

class

people()

: name =

'batman'

age =

'30'

power =

'rich'

defsayhi

(self)

:print

('你好我是{}'

.format

(self.name)

)p1 = people(

)p2 = people(

)p1.sayhi(

)p1.name =

'iron man'

p1.sayhi(

)p2.name =

'spider man'

p2.sayhi(

)# 你好我是batman

# 你好我是iron man

# 你好我是spider man

屬性和方法的查詢流程

類物件和例項物件都已可以儲存屬性和方法

python 物件導向(一)

def 函式名 x 定義乙個類的方式為 class 類名 xx 定義乙個貓類 class cat 屬性 方法 defeat self print s吃 s 5,5 defplay self print 玩 xiaohuamao cat eat 列印結果 吃 獲取物件屬性 定義乙個貓類 class c...

python物件導向(一)

物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。仍以student類為例,在python中,定義類是通過class關鍵字 class stude...

Python 物件導向 一

python是一門物件導向的程式語言 所謂物件導向的語言,簡單理解就是語言中的所有操作都是通過物件來進行的。面向過程 面向過程指將我們的程式分解為乙個乙個步驟,通過對每個步驟的抽象來完成程式。這種編寫方式往往只適用於乙個功能,如果要實現別的功能,往往復用性比較低。這種程式設計方式符合人類的思維,編寫...