一个同事向我推荐了单例类的另一种写法:
# singleton.py 的内容
import datetime
class AAA(object):
def __init__(self):
self.__msg = "empty"
return None
@staticmethod
def dttm2YYYYmmddHHMMSS(dttm):
return dttm.strftime("%Y%m%d%H%M%S")
def getmsg(self):
return self.__msg
@property
def msg(self):
return self.__msg
@msg.setter
def msg(self, new_value):
self.__msg = new_value
return self.__msg
AAA = AAA() # AAA对象会把原有的AAA类给覆盖掉.
if __name__ == "__main__":
print(AAA.dttm2YYYYmmddHHMMSS(datetime.datetime.now()))
print(AAA.getmsg())
print(AAA.msg)
AAA.msg = "modified"
print(AAA.msg)
exit(0)
# test.py 的内容,它使用了AAA对象
import datetime
from singleton import AAA
if __name__ == "__main__":
print(AAA.dttm2YYYYmmddHHMMSS(datetime.datetime.now()))
print(AAA.getmsg())
print(AAA.msg)
AAA.msg = "modified"
print(AAA.msg)
exit(0)
完。 |