网站首页 > 基础教程 正文
#python单例模式
class Singleins:
ins = None
init_flag = False
def __new__(cls, *args, **kwargs):
if cls.ins == None:
cls.ins = super().__new__(cls)
return cls.ins
def __init__(self,name):
self.name = name #第17行:ins1实例初始化的时候,代码执行到这一行 self.name = aa,下一行的print立刻就打印出来了。但是到了22行的时候ins1.name的name值早就被改变了。
print(self.name) #第17行初始化的时候打印当前的值:aa, 第18行初始化的时候打印当前值:bb
#下边两行其实都是先调用init函数,因为init函数里边有print,所以打印出来了当时那一时刻的name的值:'aa'和'bb'。
ins1 = Singleins('aa')
ins2 = Singleins('bb') #此行执行完之后self.name 等于 'bb'。它会覆盖ins1实例的name的’aa'‘的值,又因为ins1和ins2指向同一个内存地址,所以22/23两行打印的name是同一个值:’bb'
#17/18行初始化的时候init函数里边有print,所以打印出来了'aa'和'bb'。
#21/22行也有print,此时name值是最后一次初始化的值:bb,所以又打印了两边'bb'。
print(ins1.name)
print(ins2.name)
#所以最后打印结果是: aa bb bb bb
- 上一篇: 你认为最简单的单例模式,东西还挺多
- 下一篇: 设计模式:单例模式及C及C++实现示例
猜你喜欢
- 2025-06-18 单例模式谁都会,破坏单例模式听说过吗?
- 2025-06-18 Objective-c单例模式的正确写法「藏」
- 2025-06-18 单例模式介绍(单例模式都有哪些)
- 2025-06-18 前端设计-单例模式在实战中的应用技巧
- 2025-06-18 PHP之单例模式(php单例模式连接数据库)
- 2025-06-18 设计模式:单例模式及C及C++实现示例
- 2025-06-18 你认为最简单的单例模式,东西还挺多
- 2025-06-18 Python入门题037:实现单例类(3种方法)
- 2025-06-18 用好单例设计模式,也可以让你的代码性能提升300%
- 2025-06-18 Python中的单例模式:从入门到精通
- 06-18单例模式谁都会,破坏单例模式听说过吗?
- 06-18Objective-c单例模式的正确写法「藏」
- 06-18单例模式介绍(单例模式都有哪些)
- 06-18前端设计-单例模式在实战中的应用技巧
- 06-18PHP之单例模式(php单例模式连接数据库)
- 06-18设计模式:单例模式及C及C++实现示例
- 06-18python的单例模式(单例 python)
- 06-18你认为最简单的单例模式,东西还挺多
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)