農林漁牧網

您現在的位置是:首頁 > 農業

python中面向物件

2023-01-23由 積小流以至大海 發表于 農業

系統程式設計是什麼意思啊

Python 從設計之初就已經是一門面向物件的語言,正因為如此,在 Python 中建立一個類和物件是很容易的。

在面向物件的範疇內,“萬事萬物皆物件”,皆有其屬性和功能。屬性和功能通常被封裝在一起,共同體現

物件(事物)的特性,屬性和功能相輔相承,不能分割。

人們研究物件的目的是為了更加清楚地認識物件,發現物件之間的關係,而抽象的結果往往有兩個:

1)

該物件本質上屬於已經存在的分類。

2)

該物件不屬於任何已經存在的分類,我們將之命名為一個新的分類。(這就像生物學家對生物進行分類一

<

界門綱目科屬種

>

python中面向物件

當我們抽象出分類之後,就可以把分類當成一個模子,去認識其他物件。

python中面向物件

在人類世界中,先有分類還是先有物件?

答:在自然界中有的物件一直都存在,人類在熟悉並理解之後,為其進行了命名,我們可以說先有物件而後有分

類;但也有一些東西,是人類自己發明的,這時往往是先有分類,而後有物件。例如:現在我們提到“自拍杆”,

你的大腦中立刻會有一個大致的形象。

分類和物件之間是什麼關係?

答:類是模子,而物件是利用這個模子生產出來的東西;類像一個崗位描述,而物件是這個崗位上實際的工作者;

類是房子的模型或設計圖紙,而物件是根據模型或圖紙造出來的房子;類是抽象的,而物件是實在的。

一、程式碼表達

python中面向物件

說明:

我們在型別 Student 的 6 到 7 行添加了一個做自我介紹的功能 sayHi,然後在 13 行進行輸出。在

類的內部,使用 def 關鍵字來定義一個方法,與一般函式定義不同,類方法必須包含引數 self, 且為第一個參

數,self 代表的是類的例項。

類的方法與普通的函式只有一個

特別的區別

——

它們必須有一個額外的

第一個參

數名稱

按照慣例它的名稱是

self,

但是呼叫的時候卻不用傳參,看

13

行的呼叫,即

self

這個引數不用傳。

實際上, sayHi 是個物件函式,也就是說,如果 sayHi 函式正在執行,則必是某個已經被創建出來的物件,

而此時 sayHi 中的 self。name 的 self,就是這個物件的代稱,我們可以使用 self 來訪問這個物件中的所有內容。

二、建構函式

在上例之中,第 9 行建立物件,在隨後的 1 行中,對物件的原始值進行修改,如果都要改要足足使用 3 行代

碼,

有沒有一種方式在建立物件的同時,直接修改物件內部屬性的值呢?答案是肯定的,建構函式就是來解

決這個問題的

python中面向物件

建構函式做了啥?

答:

1)、建構函式負責物件的建立,初始化內部成員;

2)、帶回物件的地址,並存儲到第 3 行程式碼的 stu 中。

3)、構造器方法,在建立一個物件時預設被呼叫,不需要手動呼叫

建構函式編寫時的注意事項:

1、建構函式是一個名為__init__() 的特殊方法(構造方法);

2、類的例項化操作會自動呼叫

__init__()

方法

;如 stu = Student()

3、

__init__()

方法可以有引數,引數透過

__init__()

傳遞到類的例項化操作上

。如:stu = Student(“胡

歌”,180,“男”)

4、

self 代表類的例項,而非類;self 代表的是類的例項,代表當前物件的地址,而 self。class 則指向