当前位置: 首页 > news >正文

哪个网站可以学做馒头百度精简版网页入口

哪个网站可以学做馒头,百度精简版网页入口,在什么网站做兼职翻译,凡天网网站建设Python单例模式 1、使用模块(推荐)2、使用装饰器3、使用new()方法 单例模式是最常见的一种设计模式,该模式确保系统中一个类仅有一个实例 常用的三种实现方式如下: 1、使用模块(推荐) 模块是天然单例的&a…

Python单例模式

    • 1、使用模块(推荐)
    • 2、使用装饰器
    • 3、使用new()方法


单例模式是最常见的一种设计模式,该模式确保系统中一个类仅有一个实例

常用的三种实现方式如下:

1、使用模块(推荐)


模块是天然单例的,因为模块只会被加载一次,加载后,其他脚本若导入使用时,会从sys.modules中找到已加载好的模块,多线程下也是如此

编写Singleton.py脚本:

class MySingleton():def __init__(self, name, age):self.name = nameself.age = age

其他脚本导入使用:

from Singleton import MySingletonsingle1 = MySingleton('Tom', 18)
single2 = MySingleton('Bob', 20)print(single1 is single2)     # True

2、使用装饰器

# 编写一个单例模式的装饰器,来装饰哪些需要支持单例的类
from threading import RLockdef Singleton(cls):single_lock = RLock()instance = {}def singleton_wrapper(*args, **kwargs):with single_lock:if cls not in instance:instance[cls] = cls(*args, **kwargs)return instance[cls]return singleton_wrapper@Singleton
class MySingleton(object):def __init__(self, name, age):self.name = nameself.age = age# 该方式线程不安全,需要加锁校验single1 = MySingleton('Tom', 18)
single2 = MySingleton('Bob', 20)print(single1 is single2)     # True

3、使用new()方法


Python的__new__()方法是用来创建实例的,可以在其创建实例的时候进行控制

class MySingleton(object):single_lock = RLock()def __init__(self, name, age):self.name = nameself.age = agedef __new__(cls, *args, **kwargs):with MySingleton.single_lock:if not hasattr(MySingleton, '_instance'):MySingleton._instance = object.__new__(cls)return MySingleton._instancesingle1 = MySingleton('Tom', 18)
single2 = MySingleton('Bob', 20)print(single1 is single2)     # True
http://www.wangmingla.cn/news/137344.html

相关文章:

  • 做旅游网站目的和意义温州seo推广外包
  • 企业wap网站源码重庆seo技术教程博客
  • 无锡网络营销推广公司石景山区百科seo
  • 个人如何申请网站nba最新排名公布
  • php网站下载文件怎么做网站seo关键词设置
  • atom WordPress北京网站快速优化排名
  • 怎么对网站做压力测试谷歌seo网站建设
  • ps如何做音乐网站广州优化seo
  • 网站建设需要到哪些知识北京网络推广有哪些公司
  • 广州做企业网站百度app下载最新版
  • 网站测试速度很慢百度指数数据分析平台官网
  • 网站建设q-9百度图片识别搜索引擎
  • 建设免费网站制作电商网络销售是做什么
  • 做网站有送企业邮箱吗站长工具seo综合查询源码
  • 一个专门做海鲜的网站提升排名
  • 怎么安装的wordpress主题济南网站自然优化
  • 网站主题模板北京出大大事了
  • 自己建设个小网站要什么手续seo关键词优化工具
  • 网站建设下什么费用2023网站seo
  • 做一个官方网站多少钱网站关键词优化技巧
  • 专业上海网站建设百度关键词指数排行
  • 网赌网站怎么建设品牌seo主要做什么
  • 帮别人做网站赚钱指定关键词排名优化
  • WordPress程序主题转为appseo在哪学
  • 公安网计算机可以作为网站开发吗产品网络推广深圳
  • 株洲做网站建设交换链接的其它叫法是
  • 建筑网站大全豆丁网企业网页设计与推广
  • 网站备案政策今日国际新闻热点
  • 网站怎么容易被百度收录爱采购seo
  • 西平县住房城乡建设局网站上海公关公司