我正在编写一个类来从某些文件中提取数据并将其写入 postgres 数据库。现在,问题是对于每个实例,我从数据库中提取一些信息,这些信息对于所有其他实例都是不变的。
所以我想做的就是在创建我的第一个对象后运行一个函数/一段代码,这个函数(或代码)将从数据库中提取该信息。然后我希望我的其他实例可以访问此信息,而不是不断地一次又一次地查询数据库,因为此信息是恒定的。我正在考虑类变量,装饰器的方向。我正在通过 pytest ,其中他们具有范围 (@pytest.fixture(scope = 'module')) 的夹具,我们可以在其中放置需要运行一次的代码,稍后我们正在测试的其他函数可以使用该信息。
有人可以帮助如何实现这一目标吗?
您可以为此使用类属性并检查它是否已在类的构造函数中设置:
class MyClass(object):
postgres_data = None
def __init__(self):
if not MyClass.postgres_data:
MyClass.postgres_data = self.fetch_data()
def fetch_data(self):
pass
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2933 次 |
| 最近记录: |