我的代码是:
class Handler():
# make it static
from pymongo import MongoClient
client = MongoClient("localhost", 27017)
db = client.newsdb
news = db.news
我想让客户端变量变为静态,那么上面的代码是正确的方法吗?我也想使用单例模式,因为MongoClient可能是非常大的元素,当我真的需要它时我想要new()这个元素....
我怎么能在python中做到这一点?作为一个初学者,也许会问一些愚蠢的问题,对此提前抱歉......
答案 0 :(得分:3)
在Python中使用单例模式的最简单方法是将所有代码移动到单独的模块并导入它:
singleton.py:
from pymongo import MongoClient
client = MongoClient("localhost", 27017)
db = client.newsdb
news = db.news
并在其他模块中使用它:
import singleton
print(singleton.news)