Python物件導向

2021-08-18 16:56:10 字數 1609 閱讀 5311

物件導向程式設計——object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的函式。

面向過程的程式設計把電腦程式視為一系列的命令集合,即一組函式的順序執行。為了簡化程式設計,面向過程把函式繼續切分為子函式,即把大塊函式通過切割成小塊函式來降低系統的複雜度。

而物件導向的程式設計把電腦程式視為一組物件的集合,而每個物件都可以接收其他物件發過來的訊息,並處理這些訊息,電腦程式的執行就是一系列訊息在各個物件之間傳遞。

在python中,所有資料型別都可以視為物件,當然也可以自定義物件。

自定義的物件資料型別就是物件導向中的類(class)的概念。

我們以乙個例子來說明面向過程和物件導向在程式流程上的不同之處。

假設我們要處理學生的成績表,為了表示乙個學生的成績,面向過程的程式可以用乙個dict表示:

>>> std1 = 

>>> std2 =

而處理學生成績可以通過函式實現,比如列印學生的成績:

>>> def print_score(std):... print('%s:%s'%(std['name'],std['score']))...>>> print_score(std1)jeff:100>>> print_score(std2)xin:0如果採用物件導向的程式設計思想,我們首選思考的不是程式的執行流程,而是student這種資料型別應該被視為乙個物件,這個物件擁有name和score這兩個屬性(property)。如果要列印乙個學生的成績,首先必須建立出這個學生對應的物件,然後,給物件發乙個print_score訊息,讓物件自己把自己的資料列印出來。

class student(object):

def __init__(self,name,score):

self.name = name

self.score = score

def print_score(self):

print('%s:%s'%(self.name,self.score))

給物件發訊息實際上就是呼叫物件對應的關聯函式,我們稱之位物件的方法(method)。
物件導向的程式寫出來就像這樣:
bart = student('boyuan zhou',100)

lisa = student('maomao',100)

bart.print_score()

lisa.print_score()

物件導向的設計思想是從自然界中來的,因為在自然界中,類(class)和例項(instance)的概念是很自然的。class是一種抽象概念,比如我們定義的class-student,是指學生這個概念,而例項(instance)則是乙個個具體的student,比如,boyuan zhou 和maomao是兩個具體的student。

所以,物件導向的設計思想是抽象處class,根據class建立instance。

物件導向的抽象程度又比函式要高,因為乙個class既包含資料,又包含運算元據的方法。

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...