| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1749 人关注过本帖
标题:求问 这个模块是什么意思,一直看不懂。初学python求指教啊
只看楼主 加入收藏
hrg689689
Rank: 2
等 级:论坛游民
帖 子:7
专家分:27
注 册:2012-9-22
收藏
 问题点数:0 回复次数:1 
求问 这个模块是什么意思,一直看不懂。初学python求指教啊
def singleton(cls):
    instances = {}
    def get_instance():
        if cls not in instances:
            instances[cls] = cls()
        return instances[cls]
    return get_instance

@singleton
class Mylogger:

    _fpath = 'mokey.log'
    _file = None

    def __init__(self):
        self._file = open(self._fpath, mode='w',encoding = 'utf-8')
        print("初始化成功")

    def write(self, string):
        if self._file:
            self._flie.write(string)
            print("打印成功了")
搜索更多相关主题的帖子: write return python 成功 cls 
2012-09-23 15:06
tpiper
Rank: 2
等 级:论坛游民
威 望:1
帖 子:4
专家分:25
注 册:2012-10-17
收藏
得分:0 
singleton是个修饰器,加工了类Mylogger。
singleton修饰的作用是把不同的Mylogger实例的执行结果加进了一个字典里,可以一起调用
比如创建两个实例:
a = Mylogger()
a.write('a:1')
a.write('a:2')
b = Mylogger()
b.write('b:1')
b.write('b:2')
有singleton修饰的结果是
a:1a:2b:1b:2
没有singleton修饰的结果是
b:1b:2
因为没有修饰下,实例b的执行结果覆盖了实例a的执行结果

另外倒数第二行应该是self._file.write(string),file拼错了
2012-10-17 17:45
快速回复:求问 这个模块是什么意思,一直看不懂。初学python求指教啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015272 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved