MySingleton: __obj = __init_flag = (*args**kwargs): .__obj == : .__obj = .() .__obj (name): MySingleton.__init_flag: () .name = name MySingleton.__init_flag = a = MySingleton() (a) b = MySingleton() (b)
老师 这程序 表达什么意思? 我个人理解 ,先用a第一次调用了MySingleton()这个类, 进入类里面程序,再用__new__方法判断是否有这个aa对象, 如果没有就创建一个,并返回cls.__obj (这个返回不知道有啥意思?); 然后,再进入__init__方法来判断aa对象是否为真, 如果为真就打印“初始化第一个对象”这句话。 下面,又用b调用MySingleton()这个类, 然后对象“dd”进入类里面的程序, 先用__new__方法判断是否有这个dd对象, 如果没有就创建一个,并返回cls.__obj (这个返回不知道有啥意思?); 然后,再进入__init__方法来判断dd对象是否为真, 因第一次aa调用过了,所以MySingleton.__init_flag 为假; 然后dd就不能再输出打印“初始化第一个对象。。。。”了 程序执行完毕 老师 是这个流程吗?
#单例模式 class MySingleton: __obj = None __init_flag = True def __new__(cls, *args, **kwargs): if cls.__obj == None: cls.__obj = object.__new__(cls) return cls.__obj def __init__(self,name): if MySingleton.__init_flag: print("初始化第一个对象。。。") self.name = name MySingleton.__init_flag = False a = MySingleton('aa') print(a) b = MySingleton('dd') print(b)
这有返回值和没有返回值有什么区别吗?
super(B,self).__init__() 这个请问是调属性吗
请问:直接输入0-100的数字进去程序是正常运行的,但是如果首先输入一次错误的数字,再重新输入0-100以内的数字,就会报错,这是怎么回事呢
这里面说的name,value根据什么来设置的?单选按钮、还是复选框
老师,为什么我的背景是不闪烁的,但是飞机和炮弹一直闪烁啊,加了双缓冲也是这样
老师,为什么dao.xml不用使用包扫描
context:component-scan
service.xml要呢
请问,b+c= 12.280000000000001 c= 9.14 是怎样计算出来的啊?谢谢。
print(a.get("age"))为什么不写成print(a.get["age"])?["age"]是列表形式,可变;(“age")是元组形式,不可变
老师启动nginx后只有两个master进程没有worker进程,此时Nginx是没办法工作的呀。为什么我的启动多了个master进程而没有worker进程呢? 我找csdn也没有找到解决方法
为什么我打开TXT文件的时候没有"edit with Notepad"啊,是要重新下载这个软件吗
在网上查了查,跟着网上改了url 还是报错
uuid的作用是啥??
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637