python new_python __new__中单例的作用
#单例的作用就是为了节约系统资源,每每生成一个对象的时候都回去占用内存空间,因此单例就可以结局这个问题#非单例模式,非单例模式在每次实例化的时候都会去调用内存生,这样调用的次数多了,就可能会造成内存的浪费
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__中单例的作用相关推荐
- python __new__中单例的作用
__new__() 方法的特性: __new__() 方法是在类准备将自身实例化时调用. __new__() 方法始终都是类的静态方法,即使没有被加上静态方法装饰器. 类的实例化和它的构造方法通常都是 ...
- 在Python中创建单例
这个问题不是为了讨论是否需要单例设计模式 ,是否是反模式,还是针对任何宗教战争,而是要讨论如何以最pythonic的方式在Python中最好地实现此模式. 在这种情况下,我定义"最pytho ...
- python 中if __name__ = '__main__' 的作用
python 中if __name__ = '__main__' 的作用 前言 首先我们要知道在python里面万物皆对象,模块也是对象,并且所有的模块都有一个内置属性 __name__. 一个模块的 ...
- python趣味编程10例-python趣味编程100例(99个)
[实例简介] python如今很流行,AI的首选工具:python趣味编程100例(99个),学习编程不枯燥. [实例截图] [核心代码] python趣味编程100例(99个) └── python ...
- python的用途实例-python中pass语句意义与作用(实例分析)
想必大家都是刚刚才开始接触python这门语言的,今天这篇文章就来带大家来了解一下python这门语言之中常常会用到的一个语句pass语句.想必大家都很好奇python中pass作用是什么,接下来我就 ...
- java中单例的几种写法
java中单例的几种写法 一单例模式常见的写法 二枚举类型实现单例模式 java中单例的几种写法 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系 ...
- Spring Bean的实例化时机与ApplicationContext中单例bean的延迟初始化
Spring Bean的实例化时机 Spring什么时候实例化bean,分两种情况: 如果使用BeanFactory做为bean容器,则所有bean都是在第一次使用时才实例化: 如果使用的是Appli ...
- python精彩编程200例-python趣味编程100例(99个)
[实例简介] python如今很流行,AI的首选工具:python趣味编程100例(99个),学习编程不枯燥. [实例截图] [核心代码] python趣味编程100例(99个) └── python ...
- python趣味编程与精彩实例-python趣味编程100例(99个)
[实例简介] python如今很流行,AI的首选工具:python趣味编程100例(99个),学习编程不枯燥. [实例截图] [核心代码] python趣味编程100例(99个) └── python ...
最新文章
- 1.String StringBuilder基础
- 精通 Oracle+Python 存储过程、Python 编程
- C++描述杭电OJ 2012. 素数判定 ||
- NTFS文件系统的简述
- matlab中ncread读取nc文件其中一个三维参数的其中一维_Matlab使用技巧总结-1
- preprocessing.StandardScaler中fit、fit_transform、transform的区别
- [转]C++编译链接过程详解
- 百词斩不复习_也说说百词斩的缺点
- Tecplot新手进阶--使用tecplot宏操作批量处理数据输出图片(详细步骤)
- python 爬取订单_【python实战】【持续更新】爬取某发卡网订单
- 15.计算几何: 坐标值的精度【eps、sgn()、dcmp()】+ 平面上的点用struct表示 + 向量的定义与加减乘除
- 2013应届毕业生“艺龙旅行网”校招应聘总结
- AE关键帧动画基础概念
- arc242||C - 1111gal password(希望下次能带脑子写题...)
- 如何做好用户故事地图?
- 你活着的意义是什么?(灵魂拷问)
- [COGS1487]麻球繁衍(概率dp)
- 微信公众平台开发(二) 微信公众平台示例代码分析
- java获取汉字拼音首字母A
- maven不能加载ojdbc14.jar的解决方法(亲测有效)
热门文章
- SAP License:我应该怎么学习SAP?
- 模型优化在风控中的运用(全)
- (组合数学3.1.2.1)POJ 2249 Binomial Showdown(排列组合公式的实现)
- 7、Java格式注意要点
- springboot中配置过滤器以及可能出现的问题
- xor和路径(codevs 2412)
- 一些简单的shell脚本实例
- 【软件分析与挖掘】An Empirical Study of Bugs in Build Process
- 疯狂java学习笔记之面向对象(三) - 方法所属性和值传递
- 为Xen虚拟机扩容根文件系统(LVM)