Python 23種設計模式

2022-07-19 08:51:13 字數 766 閱讀 1265

單例模式:

當類例項化一次後,就會一直使用該例項化,而不會建立新的例項化物件。

不加單例模式的例項化效果:

class singleton(object):

pass

obj1 = singleton()

print(obj1) #<__main__.singleton object at 0x00000167a41c7700>

obj2 = singleton()

print(obj2) #<__main__.singleton object at 0x00000167a41c7c10>

使用單例模式後:

class singleton(object):

instance = none

def __new__(cls, *args, **kwargs):

if not cls.instance:

cls.instance = object.__new__(cls)

return cls.instance

obj1 = singleton()

print(obj1) #<__main__.singleton object at 0x00000167b0277c10>

obj2 = singleton()

print(obj2) #<__main__.singleton object at 0x00000167b0277c10>

這樣所有例項化出的物件都是一樣的。

Python 23種設計模式全(python例子)

建立型1.factory method 工廠方法 2.abstract factory 抽象工廠 3.builder 建造者 4.prototype 原型 5.singleton 單例 結構型6.adapter class object 介面卡 7.bridge 橋接 8.composite 組合 ...

Python高階 相容Python2 3

第一種也是最重要的方法,就是匯入future模組。它可以幫你在python2中匯入python3的功能。上下文管理器是python2.6 引入的新特性,如果你想在python2.5中使用它可以這樣做 from future import with statement 在python3中print已經...

設計模式 23種設計模式

一 軟體設計模式的概念 軟體設計模式 software design pattern 又稱設計模式,是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。它描述了在軟體設計過程中的一些不斷重 生的問題,以及該問題的解決方案。也就是說,它是解決特定問題的一系列套路,是前輩們的 設計經驗的總結...