python中物件導向簡介

2021-08-20 23:49:41 字數 1568 閱讀 7882

在介紹物件導向之前先說一說程式設計正規化,主要有面向過程和物件導向兩大類,下面簡單介紹以下這二者之間的優缺點

面向過程程式設計

面向過程程式設計其核心在過程二字,過程指的是解決問題的步驟,即先幹什麼,在幹什麼。

基於該思想程式設計寫程式就好比在設計一條流水線,是一種機械式的思維方式。

其優點是:複雜問題流程化,進而簡單化

缺點是: 擴充套件性差,若要修改某一功能,有可能牽一髮而動全身

物件導向程式設計

核心是物件二字,物件我們可以簡單描述為特徵與技能的結合體

基於該思想編寫程式就好比再創造乙個世界,世界萬物都是物件,你就是創造這個世界的角色

如果把物件比喻為特徵與技能的結合體,那麼類就是一系列物件相似的特徵與技能的結合體

站在不同的角度總結出來的類是截然不同的

在現實世界中一定是現有某乙個具體存在的物件,才能將其歸為某一類,但是在程式中必須先定義類,後呼叫類來產生物件

現實世界中總結物件-->抽取相似之處-->得到現實世界中的類

定義程式中的類-->呼叫類,產生程式中的物件

我們這裡暫且不討論現實中怎麼將乙個物件歸類,直接看程式中的類是如何產生物件

1 先定義類:

class student:

school = 'university of technology'

def choose_couse(self):

print('there is choosing course')

我們看看以上四行**都發生了什麼,首先我們定義了乙個名為student的類,在類的定義階段會立刻執行類體**,產生類的命名空間,將類體**執行過程中產生的名字都放入命名空間中

print(student.__dict__)

類的本質就是乙個命名空間/容器,從類的命名空間中增/刪/改/查某一名字

python為我們提供專門訪問屬性(命名空間的名字)的語法,點後的都是屬性

student.school  #student.__dict__['school']  #查

student.x = 1  #student.__dict__['x'] = 1  #增

student.school = '

university of technology

'  #student.__dict__['school'] = '

university of technology

' #改

del  student.x   #del  student.__dict__['x']   #刪

類中定義的函式是類的函式屬性,類可以使用,但是用 的就是乙個普通函式,意味著需要完全遵循函式的引數原則,該傳幾個值就傳幾個

2 後呼叫類產生物件,呼叫類的過程稱之為例項化,例項化的結果稱之為類的乙個例項或者物件

stu1 = student()

stu2 = student()

print(stu1)

print(stu2)

print(student.school)

student.school = '

university of technology

'print(stu1.school)

Python物件導向簡介

用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所共有的屬性和方法。類是物件的模板。類中定義的函式。類變數在整個例項化的物件中是公用的。類變數定義在類中且在方法之外 類變數通常不作為例項變數使用。建立乙個類的例項 類的具體物件。類的例項 定義在方法中的變數 即乙個派生類 deriv...

物件導向簡介

大多數高階語言都有這個東西,並且原理都是差不多的 物件導向是一種程式設計思想,是前輩們總結出來的經驗,指導程式設計師如何寫出更好的程式 核心是物件,程式就是一系列物件的集合。它具有 靈活性,擴充套件性,重用性 將問題流程化,從而簡單化,新增功能太過麻煩 優點 邏輯清晰,複雜問題簡單化,流程化 缺點 ...

python中 物件導向

1,物件導向 定義 與面向過程對比 官方定義 程式語言 2,物件導向語法 class 類名 內容3,例項 定義類 class person 行為通過方法體現 吃飯def eat self print 紅燒雞腿我喜歡吃 睡覺def sleep self print 睡覺也是一種生活態度 定義物件 li...