class db:
global_ids = {}
global_mappings = {}
def __init__:
db_client = sth sth #clinet to mongo db
db_connection = sth sth #connection to mongo db
db_coll = sth sth
我需要一些类变量(全局ID和全局映射),只能为类db初始化一次,而db类的所有其他实例都可以使用它.
类变量的值必须使用一些查找数据库的函数来计算.我怎样才能构建我的课程?
解决方法:
您始终可以测试是否先设置了这些值;如果您没有使用如下简单的线程:
class db:
global_ids = {}
global_mappings = {}
def __init__(self):
self.db_client = sth sth #clinet to mongo db
self.db_connection = sth sth #connection to mongo db
self.db_coll = sth sth
if not db.global_ids:
# set key-value pairs on db.global_ids
if not db.global_mappings:
# set key-value pairs on db.global_mappings
这样,您可以在第一次创建类的实例之前将这些类属性设置为defer.
当然,您也可以在定义类时选择设置相同的值.