Python 笔记之单例

复制代码
#单例模式:只产生一次地址
#开发模式:单例模式
复制代码
class singleleton:
    #私有化当前实例(对于内存的优化,保持地址)
    #单例的地址就存在于__instance中
    __instance=None
    name='jack'
    #重写__new__
    def __new__(cls):
        print('__new__')
        if cls.__instance is None:
            print('是空')
            cls.__instance=object.__new__(cls)
            print(cls.__instance)
            return cls.__instance
        else:
            print('不是空')
            return cls.__instance
    def show(self,n):
        print('--->show {0} is {1}'.format(self.name,n))
print(dir(singleleton))#查看类中所有的attribute
s=singleleton()
s1=singleleton()
print(s)
print(s1)
s.show(5)
s1.show(7)

输出:

'__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_singleleton__instance', 'name', 'show'

new

是空

<main.singleleton object at 0x000001D38C2F7130>

new

不是空

<main.singleleton object at 0x000001D38C2F7130>

<main.singleleton object at 0x000001D38C2F7130>

--->show jack is 5

--->show jack is 7

相关推荐
a7963lin12 小时前
PHP怎么实现单例模式_PHP常用设计模式之单例模式【方法】
jvm·数据库·python
Aision_15 小时前
从工具调用到 MCP、Skill完整学习记录
java·python·gpt·学习·langchain·prompt·agi
kyriewen18 小时前
程序员连夜带团队跑路,省了23万:这AI太贵,真的用不起了
前端·javascript·openai
2301_8092047020 小时前
JavaScript中严格模式use-strict对引擎解析的辅助.txt
jvm·数据库·python
zjy2777721 小时前
mysql如何选择合适的索引类型_mysql索引设计实战
jvm·数据库·python
Aaswk21 小时前
Java Lambda 表达式与流处理
java·开发语言·python
万邦科技Lafite21 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
我叫黑大帅21 小时前
为什么需要 @types/react?解决“无法找到模块 react 的声明文件”报错
前端·javascript·面试
之歆21 小时前
DAY_21JavaScript 深度解析:数组(Array)与函数(Function)(一)
前端·javascript
Cyber4K1 天前
【Python专项】进阶语法-系统资源监控与数据采集(1)
开发语言·python·php