gpt4 book ai didi

python - 如何限制基类方法只运行一次

转载 作者:太空宇宙 更新时间:2023-11-03 16:45:47 25 4
gpt4 key购买 nike

class car(object):
def read_spec_and_populate_db():
spec = read_from_file(spec.yaml)
populate_db(spec)

class awd(car):
super(awd, self).read_spec_and_populate_db()

def foo(self):
...

class fwd(car):
super(fwd, self).read_spec_and_populate_db()

def bar(self):
...

awdfwd可以在不同时间实例化,或者只能实例化其中之一。现在,有没有办法限制基类方法 read_spec_and_populate_db() 只执行一次?

我在SO中查找并发现here 。想看看是否还有其他选择。

编辑:并不是说我反对。我正在寻找除了使用旗帜之外的想法。我当前的实现是在类中使用标志。

最佳答案

只需使用一个标志:

class car(object):
db_read = False
def read_spec_and_populate_db():
if not car.db_read:
spec = read_from_file(spec.yaml)
populate_db(spec)
car.db_read = True

现在您可以多次调用 read_spec_and_populate_db()想。它只执行一次工作。

关于python - 如何限制基类方法只运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36320514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com