python基礎物件導向 上(入門篇 九)

2021-10-09 09:00:10 字數 2556 閱讀 2230

2.類3.類的定義

4.引數self

5.總結

# 自己定義乙個類

# 使用class關鍵字來定義

# 語法:

# class 類名():

# **塊

class

myclass

:pass

m = myclass(

)# m是通過myclass建立的物件、m是myclass的例項

m2 = myclass(

)# m2也是通過myclass建立的物件、m2是myclass的另乙個例項,m和m2是一類物件都是通過myclass這個類所建立的類

# 通過isinstance() 用來檢測乙個類是否是另乙個類的例項

r1 =

isinstance

(m,myclass)

r2 =

isinstance

(m2,myclass)

print

(r1)

# 輸出為ture,說明類m是類myclass的例項

print

(r2)

# 輸出為ture,說明類m是類myclass的例項

# 可以向物件中新增變數,物件中的變數稱作屬性

# 語法: 物件.屬性名 = 屬性值

m.name =

'葫蘆娃'

print

(m.name)

# 輸出為葫蘆娃

# 將葫蘆娃這個值新增到物件m屬性中,當需要用時,在物件中的屬性中尋找

呼叫方法:物件.方法名()

方法呼叫和函式呼叫的區別

函式呼叫,呼叫時有幾個形參,就會傳遞幾個實參。如果是方法呼叫,預設傳遞乙個引數,所以方法中至少得有乙個形參

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

# 定義乙個表示食物的類

class

food

: name1 =

"蘋果"

# 在類中定義的變數,將會成為所有例項的公共屬性,所有例項都可以訪問這些變數

name2 =

"土豆"

# 在類中定義的變數,將會成為所有例項的公共屬性,所有例項都可以訪問這些變數

defspeak

(self)

:# 在類中定義的函式我們稱之為方法,這些方法可以通過類的所有例項來訪問

print

('好吃!'

)# 如果是方法呼叫的時候預設傳遞乙個引數,所以方法中至少要定義乙個形參

a1 = food(

)# a1是通過food建立的物件、a1是food的例項

a2 = food(

)# a2是通過food建立的物件、a2是food的例項

print

(a1.name1)

# 輸出為蘋果

print

(a2.name1)

# 輸出為蘋果

print

(a2.name2)

# 輸出為土豆

'''屬性和方法的查詢流程

當我們呼叫乙個物件的屬性時,解析器會現在當前的物件中尋找是否還有該屬性,如果有,則直接返回當前的物件的屬性值。

如果沒有,則去當前物件的類物件中去尋找,如果有則返回類物件的屬性值。如果沒有就報錯

'''print

(a1.name1)

# 輸出為蘋果

# 因為在物件a1屬性值中沒有找到值name1,所以會到建立這個類的類food這個所有例項的公共屬性中尋找,

# 找到了則直接輸出,如果在建立這個類的類food的公共屬性中沒有找到則會報錯

# 因為類中定義的屬性和方法都是公共的,任何該類的例項都可以訪問,而物件a1,a2都是類food的例項

class

food

: name =

"蘋果"

defspeak

(self)

:print

('%s,好吃!'

%self.name)

'''如果是方法呼叫的時候預設傳遞乙個引數,所以方法中至少要定義乙個形參

第乙個引數就是呼叫方法的本身

如果是a1呼叫,則第乙個引數就是a1

如果是a2呼叫,則第乙個引數就是a2

一般我們都會將這個引數命名為self

'''a1 = food(

)# a1是通過food建立的物件、a1是food的例項

a2 = food(

)# a2是通過food建立的物件、a2是food的例項

a1.name =

"香蕉"

# 將香蕉這個值儲存到a1這個物件的屬性中

a2.name =

"桃子"

# 將桃子這個值儲存到a2這個物件的屬性中

a1.speak(

)# 輸出為香蕉,好吃!

a2.speak(

)# 輸出為桃子,好吃!

python 物件導向(上)

1.物件導向的思想 面向過程程式設計最易被初學者接受,其往往用一長段 來實現指定功能,開發過程的思路 是將資料與函式按照執行的邏輯順序組織在一起,資料與函式分開考慮。例如 菜鳥買電腦 1 自己買 在網上查詢資料 根據自己預算和需求定電腦的型號 macbook 15 頂配 1w8 去市場找到蘋果店各種...

python物件導向上

我們目前學習的都是python的內建物件,但是內建物件並不都能滿足我們的需求,所以我們在開發中經常要自定義一些物件 類簡單理解它就是相當於乙個圖紙,在程式彙總我們需要根據類來建立物件。類就是物件的圖紙 我們也稱物件是類的例項 instance 可呼叫isinstan 例項物件,類名 判斷是否為該類 ...

python物件導向上

面向過程程式設計 窮人的思想 一遇到問題馬上想到的是怎麼寫 把這個功能實現 邏輯 函式式程式設計 小資的思想 一遇到問題馬上想到有沒有乙個函式已經把這個功能實現了,如果有就拿過來用,沒有就定義乙個有這個功能的函式 函式 物件導向程式設計 富豪的思想 一遇到問題馬上想到有沒有乙個類中有這個方法能夠把這...