Python--面向對象基礎詳細

一、對象(objec)

1.什么是對象?

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

對象由三部分組成:

a:對象的標識(id)

b:對象的類型(type)

c:對象的值(value)

2.面向對象(oop):

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

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

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

--對于面向對象語言來說,一切都是對象。

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

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

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

面向過程的語言:

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

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

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

二、類(class)

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

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

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

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

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

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

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

--類也是一個對象,是用來創(chuàng)建對象的對象;類是type類型的對象。

查看類的類型
用類去創(chuàng)建對象

三、對象的創(chuàng)建流程

1.創(chuàng)建一個變量mc

2.在內存中創(chuàng)建一個新對象

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

四、類的對象

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

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

1.數據(屬性)

2.行為(方法)

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

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

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

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

定義一個類

五、屬性和方法

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

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

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

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

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

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

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

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

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

調用對象先找當前對象的屬性值

六、類的特殊方法init

1.創(chuàng)建對象的流程

--a:創(chuàng)建一個變量

--b:在內存中創(chuàng)建一個新對象

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

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


2.類的基本結構

class類名([父類]) :

? ? 公共的屬性...

? ? #對象的初始化方法

? ? def_ init_ (self,....):

? ? #其他的方法

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

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

...

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容