【问题标题】:In python, How to use singleton pattern? [duplicate]在 python 中,如何使用单例模式? [复制]
【发布时间】:2015-03-16 00:04:05
【问题描述】:

我的代码是:

  class Handler():

        # make it static
        from pymongo import MongoClient
        client = MongoClient("localhost", 27017)
        db = client.newsdb
        news = db.news

我想让客户端变量是静态的,那么上面的代码是正确的方法吗?我也想使用单例模式,因为可能 MongoClient 是一个非常大的元素,我想在我真正需要的时候 new() 这个元素....

如何在 python 中做到这一点?作为初学者,可能会问一些愚蠢的问题,提前抱歉......

【问题讨论】:

    标签: python


    【解决方案1】:

    在 Python 中使用单例模式的最简单方法是将所有代码移动到单独的模块并导入:

    singleton.py:

        from pymongo import MongoClient
        client = MongoClient("localhost", 27017)
        db = client.newsdb
        news = db.news
    

    并在其他模块中使用它:

    import singleton
    print(singleton.news)
    

    【讨论】:

      猜你喜欢
      • 2016-03-05
      • 2014-06-28
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 2015-07-24
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多