python物件導向

2021-09-24 15:39:54 字數 2712 閱讀 2386

從物件導向開始,我們就已經進入了程式語言的高階部分,但我們一定以之前學習的內容為基礎,來構建

自己的程式設計金字塔。

python從設計之初就已經是一門物件導向的語言,正因為如此,在python中建立乙個類和物件是很容易的。本章節我們將詳細介紹python的物件導向程式設計。

如果你以前沒有接觸過物件導向的程式語言,那你可能需要先了解一些物件導向語言的一些基本特徵,在頭腦裡頭形成乙個基本的物件導向的概念,這樣有助於你更容易的學習python的物件導向程式設計。

接下來我們先來簡單的了解下物件導向的一些基本特徵。

物件導向技術簡介

這個部分介紹的不僅僅是獨指python,他是所有具有物件導向語言應該有的並且能實現的概念,務必牢記每一條。

專業名詞

定義類(class):

用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所共有的屬性和方法。物件是類的例項

方法重寫

如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫

例項化建立乙個類的例項,類的具體物件

其實還有一些,只是寫到這兒我覺得稍顯枯燥,所以把神秘的面紗交給各位coder自己去查閱了

建立類簡單的類編寫:

class

myclass

:"""乙個簡單的類例項"""

i =12345

deff

(self)

:return

'hello world'

# 例項化類

x = myclass(

)# 訪問類的屬性和方法

print

("myclass 類的屬性 i 為:"

, x.i)

print

("myclass 類的方法 f 輸出為:"

, x.f())

# 輸出結果為:

# myclass 類的屬性 i 為: 12345

# myclass 類的方法 f 輸出為: hello world

構造器

構造器再使用的時候,即使類本身沒有這個屬性,也可以呼叫,即用即取

class

complex

:def

__init__

(self, realpart, imagpart)

: self.r = realpart

self.i = imagpart

x = complex(

3.0,

-4.5

)print

(x.r, x.i)

# 輸出結果:3.0 -4.5

self

self代表類的例項,而非類

類的方法與普通的函式只有乙個特別的區別——它們必須有乙個額外的第乙個引數名稱, 按照慣例它的名稱是 self。

class

test

:def

prt(self)

:print

(self)

print

(self.__class__)

t = test(

)t.prt(

)

繼承

python 同樣支援類的繼承,如果一種語言不支援繼承,類就沒有什麼意義。

class

people

:#定義基本屬性

name =

'' age =

0#定義私有屬性,私有屬性在類外部無法直接進行訪問

__weight =

0#定義構造方法

def__init__

(self,n,a,w)

: self.name = n

self.age = a

self.__weight = w

defspeak

(self)

:print

("%s 說: 我 %d 歲。"

%(self.name,self.age)

)#單繼承示例

class

student

(people)

: grade =

''def

__init__

(self,n,a,w,g)

:#呼叫父類的構函

people.__init__(self,n,a,w)

self.grade = g

#覆寫父類的方法

defspeak

(self)

:print

("%s 說: 我 %d 歲了,我在讀 %d 年級"

%(self.name,self.age,self.grade)

)s = student(

'ken',10

,60,3

)s.speak(

)

更厲害的是,python支援多繼承喲~ 格式和單繼承並沒有多大的區別

class

derivedclassname

(base1, base2, base3)

:1>..

.

私有化

私有化的表示就很簡單了,在屬性和方法的前面加上兩個下劃線就表示私有了 「__」。

這個私有就是真的私有了,例項都不能訪問它。

python物件導向學習 python物件導向學習

物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...

python物件導向總結 Python物件導向總結

python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...

python登入物件導向 python 物件導向

一 屬性和方法 1.a a 例項屬性 通過例項物件來新增的屬性就是例項屬性 a.count 10 例項方法都是在類中直接定義的 以self為第乙個引數的方法都是例項方法 當通過例項物件呼叫時,會自動傳遞當前物件作為self傳入 當通過類物件呼叫時,不會自動傳遞self a.test 等價於 a.te...