#单例的作用就是为了节约系统资源,每每生成一个对象的时候都回去占用内存空间,因此单例就可以结局这个问题#非单例模式,非单例模式在每次实例化的时候都会去调用内存生,这样调用的次数多了,就可能会造成内存的浪费

class A(object):

pass

a=A()

b=A()

print(id(a))

print(id(b))

输出结果

3000151570976

3000151571312

#单例模式

#讲解:在类开始之前会调用类的new方法去生成一个对象,所以我们只需要在类调用钱做处理就好了

class B(object):

__instrance = None #定义一个变量

def __new__(cls):

if cls.__instrance == None:

cls.__instrance = object.__new__(cls) #如果变量是None说明是第一次调用,就生成一个对象,

return cls.__instrance

else:

return cls.__instrance #如果不是就直接返回上次生成好了的对象

c=B()

d=B()

print(id(c))

print(id(d))

输出结果

3000151571592

3000151571592

#instrance :实例

python new_python __new__中单例的作用相关推荐

  1. python __new__中单例的作用

    __new__() 方法的特性: __new__() 方法是在类准备将自身实例化时调用. __new__() 方法始终都是类的静态方法,即使没有被加上静态方法装饰器. 类的实例化和它的构造方法通常都是 ...

  2. 在Python中创建单例

    这个问题不是为了讨论是否需要单例设计模式 ,是否是反模式,还是针对任何宗教战争,而是要讨论如何以最pythonic的方式在Python中最好地实现此模式. 在这种情况下,我定义"最pytho ...

  3. python 中if __name__ = '__main__' 的作用

    python 中if __name__ = '__main__' 的作用 前言 首先我们要知道在python里面万物皆对象,模块也是对象,并且所有的模块都有一个内置属性 __name__. 一个模块的 ...

  4. python趣味编程10例-python趣味编程100例(99个)

    [实例简介] python如今很流行,AI的首选工具:python趣味编程100例(99个),学习编程不枯燥. [实例截图] [核心代码] python趣味编程100例(99个) └── python ...

  5. python的用途实例-python中pass语句意义与作用(实例分析)

    想必大家都是刚刚才开始接触python这门语言的,今天这篇文章就来带大家来了解一下python这门语言之中常常会用到的一个语句pass语句.想必大家都很好奇python中pass作用是什么,接下来我就 ...

  6. java中单例的几种写法

    java中单例的几种写法 一单例模式常见的写法 二枚举类型实现单例模式 java中单例的几种写法 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系 ...

  7. Spring Bean的实例化时机与ApplicationContext中单例bean的延迟初始化

    Spring Bean的实例化时机 Spring什么时候实例化bean,分两种情况: 如果使用BeanFactory做为bean容器,则所有bean都是在第一次使用时才实例化: 如果使用的是Appli ...

  8. python精彩编程200例-python趣味编程100例(99个)

    [实例简介] python如今很流行,AI的首选工具:python趣味编程100例(99个),学习编程不枯燥. [实例截图] [核心代码] python趣味编程100例(99个) └── python ...

  9. python趣味编程与精彩实例-python趣味编程100例(99个)

    [实例简介] python如今很流行,AI的首选工具:python趣味编程100例(99个),学习编程不枯燥. [实例截图] [核心代码] python趣味编程100例(99个) └── python ...

最新文章

  1. 1.String StringBuilder基础
  2. 精通 Oracle+Python 存储过程、Python 编程
  3. C++描述杭电OJ 2012. 素数判定 ||
  4. NTFS文件系统的简述
  5. matlab中ncread读取nc文件其中一个三维参数的其中一维_Matlab使用技巧总结-1
  6. preprocessing.StandardScaler中fit、fit_transform、transform的区别
  7. [转]C++编译链接过程详解
  8. 百词斩不复习_也说说百词斩的缺点
  9. Tecplot新手进阶--使用tecplot宏操作批量处理数据输出图片(详细步骤)
  10. python 爬取订单_【python实战】【持续更新】爬取某发卡网订单
  11. 15.计算几何: 坐标值的精度【eps、sgn()、dcmp()】+ 平面上的点用struct表示 + 向量的定义与加减乘除
  12. 2013应届毕业生“艺龙旅行网”校招应聘总结
  13. AE关键帧动画基础概念
  14. arc242||C - 1111gal password(希望下次能带脑子写题...)
  15. 如何做好用户故事地图?
  16. 你活着的意义是什么?(灵魂拷问)
  17. [COGS1487]麻球繁衍(概率dp)
  18. 微信公众平台开发(二) 微信公众平台示例代码分析
  19. java获取汉字拼音首字母A
  20. maven不能加载ojdbc14.jar的解决方法(亲测有效)

热门文章

  1. SAP License:我应该怎么学习SAP?
  2. 模型优化在风控中的运用(全)
  3. (组合数学3.1.2.1)POJ 2249 Binomial Showdown(排列组合公式的实现)
  4. 7、Java格式注意要点
  5. springboot中配置过滤器以及可能出现的问题
  6. xor和路径(codevs 2412)
  7. 一些简单的shell脚本实例
  8. 【软件分析与挖掘】An Empirical Study of Bugs in Build Process
  9. 疯狂java学习笔记之面向对象(三) - 方法所属性和值传递
  10. 为Xen虚拟机扩容根文件系统(LVM)