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

怎样提高网站知名度为什么打开网址都是站长工具

怎样提高网站知名度,为什么打开网址都是站长工具,网页设计与制作总结报告,网站提交工具单例模式的5种实现方式 1 使用模块 2 使用装饰器 3 使用类方法 4.基于new方法实现 5 基于metaclass方式实现 单例模式的5种实现方式 什么是单例模式#xff1f; 单例模式是指#xff1a;保证一个类仅有一个实例#xff0c;并提供一个访问它的全局访问点# 线程1 执行#x…单例模式的5种实现方式 1 使用模块 2 使用装饰器 3 使用类方法 4.基于new方法实现 5 基于metaclass方式实现 单例模式的5种实现方式 什么是单例模式 单例模式是指保证一个类仅有一个实例并提供一个访问它的全局访问点# 线程1 执行 cursor.excute(select * from user)# 线程2执行 cursor.excute(select * from books)# 线程1 执行 cursor.fetchAll() # 拿出查询到的数据# django 每个线程一个连接对象---》 连接池1 使用模块 其实Python 的模块就是天然的单例模式因为模块在第一次导入时会生成 .pyc 文件当 第二次导入时就会直接加载 .pyc 文件而不会再次执行模块代码。 因此我们只需把相关的函数和数据定义在一个模块中就可以获得一个单例对象了。 如果我们真的想要一个单例类可以考虑这样做1.新建一个mysingleton.pyclass Singleton(object):def foo(self):passsingleton Singleton()2.将上面的代码保存在文件 mysingleton.py 中要使用时直接在其他文件中导入此文件中的对象 这个对象即是单例模式的对象 from a import singleton 2 使用装饰器 def Singleton(cls):instance Nonedef _singleton(*args, **kargs):nonlocal instanceif not instance:instance cls(*args, **kargs)return instancereturn _singletonSingletonclass A(object):def __init__(self, x0):self.x xa1 A(2)a2 A(3)print(a1.x)print(a2.x)print(a1 is a2) # True 回顾装饰器是什么 import time# 装饰器是什么?装饰器的作用是什么装饰器是闭包函数的一个典型应用它是什么在不改变函数源代码和调用方式idea基础上为函数增加新功能 # def add(a, b): # time.sleep(2) # return a bdef time_total(func):def inner(a, b):start time.time()res func(a, b)print(运行时间是, time.time() - start)return resreturn inner# add time_total(add) # res add(3, 4) # print(res)time_total # 原理就是 addtime_total(add) def add(a, b):time.sleep(2)return a bres add(3, 4) print(res) print(add.__name__) # 就是inner# 什么是闭包函数参数不是传进来的是用了它上一层作用域范围的变量 1 定义在函数内部2 对外部作用域有引用(如果使用外部的可变类型则直接使用如果是不可变类型需要使用nonlocal)例如def add():a 10def inner():nonlocal aa 1print(闭包内部的值是, a) # 11inner()print(闭包外部的值是, a) # 11add()3 使用类方法 class Singleton(object):_instanceNonedef __init__(self):passclassmethoddef instance(cls, *args, **kwargs):if not cls._instance:cls._instancecls(*args, **kwargs)return cls._instancea1Singleton.instance() a2Singleton().instance()print(a1 is a2)4 基于new方法实现 class Singleton(object):_instanceNonedef __init__(self):passdef __new__(cls, *args, **kwargs):if not cls._instance:cls._instance object.__new__(cls)return cls._instanceobj1 Singleton() obj2 Singleton() print(obj1 is obj2)5 基于metaclass方式实现 # 产生类这个对象的类称之为元类 # 类中的 __call__什么时候回触发对象()会触发 class SingletonType(type):_instance Nonedef __call__(cls, *args, **kwargs):if not cls._instance:cls._instance object.__new__(cls)cls._instance.__init__(*args, **kwargs)return cls._instanceclass Foo(metaclassSingletonType):def __init__(self, name):self.name nameobj1 Foo(name) obj2 Foo(name) print(obj1.name) print(obj1 is obj2) # True# __init__ 和 __new__ 区别是什么 # 1 类()---触发类中的__init__----对象已经创建出来了不能拦截住做成单例了 # 2 类----》触发类中的__new__----》真正的创建对象判断之前有没有创建过如果创建过直接返回 # 3元类---》类()---触发元类的__call__---》判断之前有没有创建过如果有直接返回
http://www.yutouwan.com/news/468945/

相关文章:

  • 网站建设中有关层的使用的步骤网络营销的盈利模式
  • 网站留言系统是怎么做的wordpress怎么登录界面
  • 软文发布平台排名北京百度快速优化排名
  • 百度网站排名哪家好中国建筑师室内设计网
  • 做php网站一键注册所有网站
  • seo网站排名助手创新驱动发展战略意义
  • 阜阳网站建设公司wordpress淘宝客模板图片
  • wordpress 交易平台厦门seo排名外包
  • 网站建设宽度网站数据库是什么意思
  • 免费制作二维码的网站ICP网站忘记密码
  • 网站建设选择惠州企业自助建站
  • 目前好的外贸网站门户网站 布局
  • 一般网站的后台重庆新闻联播回看
  • 网站建设个人主页图小程序开发哪里有
  • 中国建设银行官网站纪念币河南wordpress恢复密码
  • 仿阿里巴巴行业门户贸易网站模板做网站推广 需要ftp
  • 网站被host重定向洪梅仿做网站
  • 揭阳网站设计公司织梦网站怎样做子域名
  • wordpress个人展示网站6网站默认主页名
  • 网站搭建php源码襄阳网站建设的公司
  • 衡阳网站排名网页制作教程代码
  • 手机网站制作软件网页是干什么的
  • 做数码后期上数码网站增城门户网站
  • 大连网站制作赞ls15227网站开发职业前景
  • 网站建设思路设计深圳前十设计公司
  • 网站如何设置长尾词hhvm wordpress 空白
  • 佛山微网站建设天博网站登录密码怎么取消保存
  • 什么样的网站做百度广告好企业邮箱购买
  • 计算机网站建设 是什么wordpress仿站入门
  • 青岛国家高新区建设局网站网页界面制作