考虑以下简单的类:
class ExampleClass():
def __init__(self, foo):
self.foo = foo
def calc_bar(self):
baz = self.get_baz()
return baz * self.foo
@staticmethod
def get_baz():
return <result of unchanging database query>
然后我将它与以下内容一起使用:
from module1 import ExampleClass
foo = 10
myobj = ExampleClass(foo)
bar = myobj.calc_bar()
每次我调用该calc_bar方法时都会查询当前构建数据库的方式。
如何将get_baz方法的输出转换为只为该类设置一次的类属性?
我可以通过以下方式手动完成:
class ExampleClass():
baz = None
def __init__(self, foo):
self.foo = foo
def calc_bar(self):
return self.baz * self.foo
---
from module1 import ExampleClass
ExampleClass.foo = <result of unchanging database query>
foo = 10
myobj = ExampleClass(foo)
bar = myobj.calc_bar()
有没有一种方法可以在班级内自动完成?
慕标琳琳
肥皂起泡泡
慕无忌1623718
相关分类