gpt4 book ai didi

python getattr 多个级别,也传递值

转载 作者:太空宇宙 更新时间:2023-11-03 18:07:11 26 4
gpt4 key购买 nike

所以我一直在阅读 getattr,并且想知道相当于什么

example = val1.val2.val3(item)

会的。所以我知道你必须使用嵌套的 getattr 来实现多级属性

example = getattr(getattr(val1, "val2"), "val3")

但是我如何表示传入的对象?

最佳答案

或者您可以使用标准库中的一个简洁函数 operator.attrgetter 。这里有一个关于如何使用它的小例子。

from operator import attrgetter

from collections import namedtuple

# Define some objects
Foo = namedtuple('Foo', 'attr')
Bar = namedtuple('Bar', 'subattr1')

instance = Foo(attr=Bar('this_is_my_value'))

retriever = attrgetter('attr.subattr1')
result = retriever(instance)
print(result)

执行此操作将为您提供

this_is_my_value

关于python getattr 多个级别,也传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26663320/

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