gpt4 book ai didi

python - 何时使用 __getattr__

转载 作者:行者123 更新时间:2023-11-28 19:34:23 25 4
gpt4 key购买 nike

我遇到了内置的 __getattr__ 并且想知道什么时候可以使用它。我很难从文档中想到实际用途
http://docs.python.org/reference/datamodel.html# .什么是它如何在代码中使用和有用的实际示例?

最佳答案

一个例子是在字典中使用对象表示法。例如,考虑一个字典

myDict = {'value': 1}

通常在 Python 中访问 'value' 变量为

myDict['value']

这将在 Python 解释器中打印 1。但是,人们可能希望使用 myDict.value 表示法。这可以通过使用以下类来实现:

class DictAsMember(dict):
def __getattr__(self, name):
value = self[name]
if isinstance(value, dict):
value = DictAsMember(value)
return value

my_dict = DictAsMember()
my_dict['property'] = {'sub_property': 1}

print(my_dict.property.sub_property) # 1 will be printed

关于python - 何时使用 __getattr__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10761779/

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