Python3物件導向程式設計總結

2022-09-16 00:15:27 字數 1656 閱讀 3100

自學筆記:邏輯可能比較混亂,想到哪說到哪,可能存在不少的問題歡迎指出。

最簡單的乙個類

在python中類的命名必須以字母或者下畫線開頭,並且只能包含字母、下畫線和數字。另外推薦使用駝峰命名方式(大寫字母開頭,隨後的任意乙個單詞都以大寫字母開頭)

python最簡單的乙個類的建立

class myfirstclass:

pass

類的屬性和方法

在類中我們還可以為其新增屬性和方法

class myfirstclass:

def __init__(self):

self.x = 1

self.y = 1

def show(self):

print(self.x,self.y)

c = myfirstclass()

c.show()

其中self.x和self.y為該類的屬性,show()為該類的方法

類中的方法的定義方式和普通函式相同,都是以關鍵字def開頭,但是有一點不同的是類中的方法有乙個必需的引數,通常這個引數被命名為self,但是我們例項化類後呼叫show方法的時候並沒有傳入引數,這是因為python自動幫我們做了,當我們呼叫c物件的show方法的時候,python會自動將c物件傳給show方法了。因此下面這個呼叫方式執行結果是一樣的。

c = myfirstclass()

myfirstclass.show(c)

其實類中的方法本質上就是乙個函式,我們可以在外部呼叫也可以在類中呼叫,例如:

class point:

def __init__(self, x ,y ):

self.x = x

self.y = y

def reset(self):

self.x = 0

self.y = 0

self.show()

def show(self):

print(self.x, self.y)

p = point(1,1)

p.reset()

執行結果為:0  0

類的初始化

一般的程式語言中都有乙個叫建構函式的特殊方法,當它被建立的時候會建立和初始化物件,這一點python會有些許不同,python有乙個建構函式和乙個初始化函式,一般情況下建構函式很少被用到,除非是想實現一些特別的操作,所以在此主要說一下類的初始化。我們在之前的示例中有乙個方法名為__init__(),其實這個方法就是給類進行初始化操作的。當我們例項化的時候會首先執行__init__()方法,因此當__init__()方法需要傳遞引數的時候我們在例項化的時候同樣需要傳遞引數,不然會報錯。

由於方法本質上就是函式,當我們不想傳遞引數的時候也可以同函式的操作一樣使用預設引數。

def __init__(self, x=0, y=0):

self.x = x

self.y = y

物件導向程式設計的三個基本特徵分別為:封裝、繼承、多型,下面一一說明。

繼承繼承就是讓乙個類獲得另乙個類的屬性和方法,在python中所有的類都是object類的子類,只是在實際的使用中我們並不需要表明,python在後台自己幫我們做了

Python3物件導向程式設計總結

自學筆記 邏輯可能比較混亂,想到哪說到哪,可能存在不少的問題歡迎指出。最簡單的乙個類 在python中類的命名必須以字母或者下畫線開頭,並且只能包含字母 下畫線和數字。另外推薦使用駝峰命名方式 大寫字母開頭,隨後的任意乙個單詞都以大寫字母開頭 python最簡單的乙個類的建立 class myfir...

Python3 物件導向程式設計

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

Python3 物件導向程式設計 類

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