Python入門 物件導向

2021-08-21 17:55:16 字數 2403 閱讀 7317

物件:有具體特徵和行為操作的事物

**:有具體(特徵)屬性和(行為)方法的物件(將物件行為特徵抽象化用**表示)

1、**->還原生活場景

簡單的**操作-> 基礎語法,堆疊功能[變數、資料型別、運算、if、while]

函式式程式設計-> 將所有要處理的事情,開始封裝成具備一定處理功能的函式,呼叫執行

2、【面向過程程式設計】

開發人員將完成事情的操作步驟封裝在函式中,通過函式呼叫執行這樣的開發操作,**中封裝了大量的

包含處理步驟的函式。

(適合中小型專案開發;大型專案開發[**的邏輯處理方式不夠成熟,導致**高耦合!)

【物件導向程式設計】

對面向過程程式設計的補充和完善,通過物件和物件之間的互動協作完成專案功能的開發還原生活場景。

(適合大型專案開發)

型別(類):**中可以通過class關鍵字,自定義乙個資料型別

(1)資料型別:簡稱型別:簡稱類-> 自定義資料型別-> 自定義 類

(2)基本語法:

通過class 關鍵字進行定義

class 資料型別名稱:

型別中的**

example:

# 建立乙個person型別

class person:

pass

3. 物件的建立和使用

(3)型別名稱命名規範:見名知意、駝峰命名法[乙個或者多個英文單詞組成、每個單詞首字母大寫]

(4)型別:通過專案中需要的大量有相似特徵和行為的物件,抽象出來的乙個資料型別

型別:通過物件抽象出來的乙個資料型別。 型別中需要定義物件需要的特徵[屬性|變數]和行為[方法]

通過class 關鍵字進行定義

語法: class 資料型別名稱:

pass

# 建立乙個person型別

# 定義屬性、特徵

# 固定寫法:在__init__方法中,定義型別的屬性

注意1:class 關鍵字,用來宣告定義乙個型別,固定寫法

注意2:型別中的所有函式,第乙個引數self表示當前物件,類似生活中的乙個名詞:我

注意3:型別中的函式,必須稱為方法;

函式  vs  方法 : 方法是一種特殊的函式,只能在型別中使用!

注意4:型別中方法,第乙個引數:指代的是當前物件~~~一般被宣告為self

表示當前物件,呼叫的時候不需要傳遞資料給self!

通過class 關鍵字直接宣告定義乙個自定義型別

語法:class 資料型別名稱:

pass

1、語法:物件的特徵,是需要在型別中定義的!在通過型別建立物件時,才會給具體的特徵賦值給物件的特徵賦值,

固定語法:在__init__()函式中操作class author:

# 給物件的特徵賦值,在__init__()中進行操作

def __init__(self, username, password, nickname):

self.username = username

self.password = password

self.nickname = nickname

python中通過型別建立物件[a = author()]會自動呼叫__init__()方法

建立物件a = author()-> author.__new__()方法建立物件

-> author.__init__()方法初始化資料

-> 得到乙個author物件

在python中,有一種特殊的函式:魔法函式

每個魔法函式有一些特定的功能,方法名稱都是固定的

魔法函式的命名規則:函式的前後各有兩個下劃線!

2、將乙個函式,定義在型別的內部,第乙個引數~設定為可以接受物件的引數:selfclass author:

# 定義乙個行為:個人介紹

def   introduction(self):

print("個人介紹.........")

注意:方法和函式的最大的區別:

方法:第乙個引數可以隱式接受當前物件作為實際引數 。

方法是定義在型別的內部的 。

方法的呼叫必須通過物件的引用變數呼叫。

函式:函式中的任何形式引數,在呼叫的時候都需要明確的傳遞資料 。

函式是定在型別的外部的。

函式的呼叫直接通過函式名稱呼叫。

3、呼叫執行方法:類似與呼叫執行函式

# 方法的呼叫執行:必須通過物件的引用變數進行呼叫!

author = author()

author.introduction()

04python入門 物件導向初識

類與物件 classmethod類方法 staticmethod靜態方法 物件 子類判斷 反射核心是過程 流水線思維 優點是 極大的降低了寫程式的複雜度,只需要順著要執行的步驟,堆疊 即可。缺點是 一套流水線或者流程就是用來解決乙個問題,牽一髮而動全身。應用場景 一旦完成基本很少改變的場景,著名的例...

快速入門物件導向設計

物件導向設計把握乙個重要的經驗 誰擁有資料,誰就對外提供操作這些資料的方法。幾個典型的案例 人在黑板上畫圓 有人物件 黑板物件 圓物件,畫圓這個動作必須用到了圓心座標x y和半徑r,而x y r是圓內部的資料,圓擁有這些資料,所以這個動作時圓的,而不是黑板的,更不是人的。列車司機緊急剎車 有列車物件...

Java入門 物件導向一

物件導向與面向過程 面向過程 線性思維,事物比較簡單 物件導向 簡單的線性思維無法解決,利用大局思維找乙個能解決該問題的物件去解決問題,比如之前的鍵盤錄入就是找到scanner去解決問題。面對物件方便從巨集觀上管理,具體實現還是面向過程的方式。物件和類的關係 類是抽象的,類是確定物件會擁有的特徵 屬...