python設(shè)計模式大全
本文實例講述了python常見的設(shè)計模式。分享給大家供大家參考,具體如下:
# #!/usr/bin/env python
# # -*- coding:utf-8
#
# class HttpBase:
# def get(self):
# psss
# class Http1(HttpBase):
# def get(self):
# print 'http1'
# class Http2(HttpBase):
# def get(self):
# print 'http2'
#
#
# class Base:
# def __init__(self):
# self.httpobj = None
# def http(self):
# self.httpobj.get()
# def compute(self):
# self.http()
# self.show()
# #虛函數(shù)
# def show(self):
# pass
# def notify(self, k):
# print 'notify', k
#
#
# #橋接模式,通過A,B 關(guān)聯(lián)不同的http1和http2
# class BaseA(Base):
# def __init__(self):
# self.httpobj = Http1()
# def notify(self, k):
# print 'A notify', k
# def show(self):
# print 'show a'
#
# class BaseB(Base):
# def __init__(self):
# self.httpobj = Http2()
# def notify(self, k):
# print 'B notify', k
# def show(self):
# print 'show b'
#
# #觀測者模式
# class Observer:
# def __init__(self):
# self.listOB = []
# def register(self, obj):
# self.listOB.append(obj)
# def notify(self):
# for obj in self.listOB:
# obj.notify(len(self.listOB))
#
# #適配器模式
# class B1:
# def http(self):
# BaseB().http()
# #工廠模式
# class Factory:
# def CreateA(self):
# return BaseA()
# def CreateB(self):
# return BaseB()
#
#
# #單例模式
# class Logger(object):
# log = None
# @staticmethod
# def new():
#
# import threading
# #線程安全
# mylock = threading.RLock()
# mylock.acquire()
# if not Logger.log:
# Logger.log = Logger()
# mylock.release()
#
# return Logger.log
# def write(self, v):
# print 'Logger ', v
#
# if __name__ == "__main__":
# a = Factory().CreateA()
# b = Factory().CreateB()
#
# objS = Observer()
# objS.register(a)
# objS.register(b)
#
# a.compute()
# b.compute()
# objS.notify()
#
# b1 = B1()
# b1.http()
#
# Logger.new().log.write('v')
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Python中實現(xiàn)優(yōu)雅的switch操作的方法小結(jié)
這篇文章主要為大家詳細介紹了如何在Python中優(yōu)雅地實現(xiàn)?switch?操作,并提供豐富的示例代碼,感興趣的小伙伴可以跟隨小編一起學習一下2024-02-02
Pygame游戲開發(fā)之太空射擊實戰(zhàn)碰撞改進篇
相信大多數(shù)8090后都玩過太空射擊游戲,在過去游戲不多的年代太空射擊自然屬于經(jīng)典好玩的一款了,今天我們來自己動手實現(xiàn)它,在編寫學習中回顧過往展望未來,在本課中,我們將討論如何更改?Pygame?處理精靈之間沖突的方式2022-08-08
Python實現(xiàn)Microsoft Office自動化的幾種方式及對比詳解
辦公自動化是指利用現(xiàn)代化設(shè)備和技術(shù),代替辦公人員的部分手動或重復性業(yè)務活動,優(yōu)質(zhì)而高效地處理辦公事務,實現(xiàn)對信息的高效利用,進而提高生產(chǎn)率,實現(xiàn)輔助決策的目的,所以本文給大家介紹了Python實現(xiàn)Microsoft Office自動化的幾種方式,需要的朋友可以參考下2025-03-03
python requests爬取高德地圖數(shù)據(jù)的實例
今天小編就為大家分享一篇python requests爬取高德地圖數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11

