Python--面向對象基礎詳細 一、對象(objec) 二、類(class) 三、對象的創建流程 四、類的對象 五、屬性和方法 六、類的特殊方法init

一、對象(objec)

1.什麼是對象?

對象是內存中專門用來存儲數據的一塊區域。對象中可以存放各種數據(如:數字,布爾值,代碼..)

對象由三部分組成:

a:對象的標識(id)

b:對象的類型(type)

c:對象的值(value)

2.面向對象(oop):

python是一門面向對象的編程語言。

面向對象的語言,就是語言中所有的操作都是通過對象來進行的。

--關注的是對象而不關注過程。

--對於面嚮對象語言來說,一切都是對象。

--面向對象的編程思想,將所有的功能統一保存到對應的對象中。要使用某個功能,直接找到對應的對象即可。

--這種方式編寫的代碼,比較容易閱讀,易於維護,可複用性強。

--但是這種方式的編寫,不符合常規思維,編寫起來稍微麻煩一點。

面向過程的語言:

指的是,將程序的邏輯分解成爲一個一個的步驟,通過對每個步驟的抽象,來完成程序。

--這種編程方式符合人類的思維,編寫起來相對簡單。

--通過完成一個一個小的步驟來完成一個程序,但是這種方式編寫代碼的往往只適用於一個功能。如果要實現別的功能,往往要重新編寫代碼,可複用性比較低,難於維護。

二、類(class)

--目前所學習的對象都是python內置的對象。

--但是內置對象並不能滿足所有的需求,所以我們開發中經常需要自定義一些對象。

--類,簡單理解它相當於一個圖紙。程序中我們需要根據類來創建對象。

--類就是對象的圖紙。稱對象是類的實例(instance)

--像是int()、float()、bool()、str()、list()、dict()...這些都是類。

   a=int(10) 這屬於int類的實例,等價於a = 10

我們自定義的類都需要使用大寫字母開頭,使用大駝峯命名法(帕斯卡命名法)

--類也是一個對象,是用來創建對象的對象;類是type類型的對象。

三、對象的創建流程

1.創建一個變量mc

2.在內存中創建一個新對象

3.將對象的id賦值給變量

四、類的對象

--類和對象都是對現實生活中或程序中內容的抽象。

--實際上所有的事物都由兩部分構成:

1.數據(屬性)

2.行爲(方法)

在類的代碼塊中,我們可以定義變量和函數。

--變量會成爲該類實例的公共屬性,所有的該類實例都可以通過對象.屬性名的形式訪問。

--函數會成爲該類實例的公共方法,所有該類實例都可以通過 對象.方法名()的形式調用方法。

注意:方法調用時,第一個參數由解析器自動傳遞,所以定義方法默認傳遞一個參數,所以定義方法中至少要定義一個形參。

五、屬性和方法

1.實例爲什麼能訪問到類中的屬性和方法?

--類中定義的屬性和方法都是公共的,任何該類實例都可以訪問。

2.屬性和方法查找的流程?

--當我們調用一個對象的屬性時,解析器會先在當前對象中尋找是否含有該屬性,

如果有,則直接返回當前的對象的屬性值,

如果沒有,則去當前對象的類對象中去尋找,如果有則返回類的對象的屬性值,如果沒有則報錯!

3.類對象和實例對象都可以保存屬性(方法)

--如果這個屬性(方法)是所有的實例共享的,則應該將其保存到類對象中。

--如果這個屬性(方法)是某個實例獨有,則應該保存在實例對象中。

六、類的特殊方法init

1.創建對象的流程

--a:創建一個變量

--b:在內存中創建一個新對象

--c:__init__(self)方法執行

--d:將對象的id賦值給變量


2.類的基本結構

class類名([父類]) :

    公共的屬性...

    #對象的初始化方法

    def_ init_ (self,....):

    #其他的方法

    def method_ 1(self,....):

    def method_ 2(self,....):

...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章