gpt4 book ai didi

python - 如何避免在类里面使用 self.__dict__

转载 作者:太空宇宙 更新时间:2023-11-04 10:07:58 25 4
gpt4 key购买 nike

<分区>

我被告知我应该避免在我的代码中使用 self.__dict__ 但我找不到其他方法来解决我正在尝试做的事情。我刚开始使用类,所以不太确定如何执行此操作。

class variable( object ):
def __init__( self, json_fn, *args, **kwargs ):

self.metrics = self.getmetrics(json_fn)
for metric in self.metrics :
self.__dict__[metric] = self.get_metric_dataframes(metric)

def get_metric_dataframes( self , metric_name ):
'''extract and return the dataframe for a metric'''

所以我的对象“变量”对于存储在 json 中的不同指标具有不同的数据帧。我希望能够做 variable.temperature, variable.pressure , variable.whatever 而不必写:

self.temperature = self.get_metric_dataframes(temperature)
self.pressure = self.get_metric_dataframes(pressure)
self.whatever = self.get_metric_dataframes(whatever)

因为所有数据帧都是使用以指标作为参数的相同函数提取的。这就是为什么我遍历指标并使用

self.__dict__[metric] = self.get_metric_dataframes(metric)

所以知道我永远不会更新任何这些数据帧(我在代码中使用它们的副本,但不想更新对象的值)。

还有其他解决方案吗?

我可以做的另一种方法是构建一个字典,将所有指标作为键,将数据框作为值,并将其存储在 self.metric 中,然后我可以用 object 调用它.metric['temperature'] 但我宁愿立即执行 object.temperature,我很想知道是否可以这样做。

感谢您的帮助!

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