gpt4 book ai didi

python - 内存使用实例属性的函数

转载 作者:行者123 更新时间:2023-12-01 05:42:30 24 4
gpt4 key购买 nike

我是Python新手,在网上找不到答案。假设我有一个方法可以进行一些计算并返回一个字符串

def output(self)
a=self.some_long computation1()
b=self.some_long computation2()
c=self.some_attribute
some_computatuion_inside
return output_string

我在几个地方使用这个函数并想记住它,但由于它不带参数并且依赖于可以在调用之间更改的实例属性,我不确定如何继续,

我意识到我可以编写自己的内存功能,该功能将检查这些属性是否更改,但这似乎不正确,因为这仅特定于该功能我希望将来能为其他功能做同样的事情

最佳答案

一种方法是提取变量(假设它们是可散列的)并将其设为 static method :

@staticmethod
def output_static(a, b, c)
some_computatuion_inside
return output_string

然后从类中调用它:

self.output_static(a=self.some_long_computation1()
b=self.some_long_computation2()
c=self.some_attribute)

您还可以使用该技术来内存 some_long_computation1some_long_computation1

如果您愿意,您可以编写一个中间辅助函数,它只需调用(记忆化的)静态方法:

def output(self):
return self.output_static(a=self.some_long_computation1()
b=self.some_long_computation2()
c=self.some_attribute)

关于python - 内存使用实例属性的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17167006/

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