承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601
当前位置:首页  >  软件开发  >  python 种设计模式

python 种设计模式

管理员 2023-09-12 07:58:18 软件开发 0 ℃ 0 评论 2268字 收藏

python 种设计模式

Python是一种广泛使用的面向对象编程语言,具有丰富的函数库和模块,支持多种设计模式。设计模式是一种软件设计思想,可以用于解决特定的问题。本文将介绍Python中的一些常见设计模式。

单例模式

单例模式是一种保证类只有一个实例的设计模式。在Python中,可使用__new__方法实现。

class Singleton(object):
_instance = None
def __new__(cls, *args, **kwargs):
if cls._instance is None:
cls._instance = super(Singleton, cls).__new__(cls, *args, **kwargs)
return cls._instance

工厂模式

工厂模式是一种创建对象的设计模式,隐藏了创建对象的复杂性。在Python中,可使用类方法实现工厂模式。

class Animal(object):
def __init__(self,name):
self.name = name
@classmethod
def categorize(cls, category, name):
if category == "dog":
return Dog(name)
elif category == "cat":
return Cat(name)
class Dog(Animal):
def __str__(self):
return self.name+" is a dog."
class Cat(Animal):
def __str__(self):
return self.name+" is a cat."
d = Animal.categorize("dog", "Tommy")
print(d)

视察者模式

视察者模式是一种包括多个对象之间的一种依赖关系,在状态改变时自动更新对象。在Python中,可使用Observable和Observer实现视察者模式。

class Observable(object):
def __init__(self):
self.observers = []
def add_observer(self, observer):
if observer not in self.observers:
self.observers.append(observer)
def remove_observer(self, observer):
if observer in self.observers:
self.observers.remove(observer)
def notify_observers(self, message):
for observer in self.observers:
observer.update(message)
class Observer(object):
def update(self, message):
pass
class Display(Observer):
def update(self, message):
print("Display: "+message)
class Logger(Observer):
def update(self, message):
print("Logger: "+message)
subject = Observable()
observer_1 = Display()
observer_2 = Logger()
subject.add_observer(observer_1)
subject.add_observer(observer_2)
subject.notify_observers("Hello!")

以上是Python中的一些常见设计模式。设计模式可让我们更好地组织代码,提高代码的可保护性和可复用性。

文章来源:丸子建站

文章标题:python 种设计模式

https://www.wanzijz.com/view/78018.html

TAG: php教程 centos
X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信