python設計模式

2021-08-20 14:49:03 字數 772 閱讀 4846

設計模式

設計模式 是前人工作的總結和提煉,通常,被人們廣泛流傳的設計模式都是針對某

一特定問題 的成熟的解決方案

使用設計模式 是為了可重用**,讓**更容易被他人理解,保證**可靠性

1. __new__方法

使用 類名() 建立物件時,python 的直譯器 首先會呼叫 __new__方法 為物件分配空間

__new__ 是乙個由object 基類提供的 內建的靜態方法 ,主要作用有兩個:

(1)在記憶體中為物件分配空間

(2) 返回物件的引用

python 的直譯器獲取物件的引用後,將引用作為第乙個引數,傳遞給 __init__方法

重寫__new__ 方法的**非常固定

(1) 重寫__new__ 方法一定要 return super().__new__(cls)

(2)否則python 的直譯器 得不到分配了空間的引用,就不會呼叫物件的初始化方法

注意:__new__是乙個靜態方法,在呼叫時需要主動傳遞 cls 引數

2. 單例設計模式

目的--讓 類 建立的物件,在系統中 只有唯一的乙個例項

每一次執行 類名() 返回的物件,記憶體位址是相同的

應用場景:

1. 定義乙個 類屬性 ,初始化為 none ,用於記錄 單例物件的引用

2. 重寫__new__ 方法

3. 如果 類屬性 is none ,呼叫父類方法 分配空間,並在類屬性中記錄結果

4. 返回 類屬性 中記錄物件的引用

源**:  

Python設計模式 狀態設計模式

狀態設計模式的簡單示例 優缺點乙個物件可以基於其內部狀態封裝多個行為。狀態模式可以看作在執行時改變物件行為的一種方式。以收音機為例進行說明。收音機具有am fm 切換開關 兩種調頻方式和乙個掃瞄按鈕。因此根據收音機的基本狀態 am fm 當調諧到am或fm頻道時,掃瞄按鈕的行為就會動態的改變。con...

python設計模式 原形設計模式

一 什麼是原形設計模式 原型設計模式 prototype design pattern 幫助我們建立物件的轉殖,其最簡單的形式就是一 個clone 函式,接受乙個物件作為輸入引數,返回輸入物件的乙個副本。在python中,這可以 使用copy.deepcopy 函式來完成。二 應用案例 三 實現使用...

Python 設計模式

例項 類 類工廠 簡單來說就是把一些具有相同方法的類再進行封裝,抽象共同的方法以供呼叫.是工廠方法的高階版本.例項 類 類工廠 抽象工廠 這個python裡可以使用 property實現,就是當呼叫的時候才生成.builder模式主要用於構建乙個複雜的物件,但這個物件構建的演算法是穩定的,物件中的各...