gpt4 book ai didi

python - getattr() 的简洁方法,如果在 Python 中不是 None 则使用它

转载 作者:IT老高 更新时间:2023-10-28 22:02:24 26 4
gpt4 key购买 nike

我发现自己经常做以下事情:

attr = getattr(obj, 'attr', None)
if attr is not None:
attr()
# Do something, either attr(), or func(attr), or whatever
else:
# Do something else

有没有更 Pythonic 的写法?这是否更好? (至少在性能方面没有,IMO。)

try:
obj.attr() # or whatever
except AttributeError:
# Do something else

最佳答案

由于您调用的是 attr,您可以这样做:

def default_action():
# do something else

action = getattr(obj, 'attr', default_action)

action()

关于python - getattr() 的简洁方法,如果在 Python 中不是 None 则使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2428557/

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