python单例类的另一种写法

论坛 期权论坛 脚本     
匿名技术用户   2021-1-17 10:54   1234   0

一个同事向我推荐了单例类的另一种写法:

# 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)

完。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP