gpt4 book ai didi

Python - 如何从给定的字符串调用实例?

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

我想从实例 foo 调用函数 bar(),就像这样:

foo.bar()

但是实例名和函数名都来自给定的字符串。我试过 getattr 但它只让我为函数使用字符串,而不是实例:

strbar = 'bar'    
getattr(foo, strbar)()

我想做的是:

strfoo = 'foo'
strbar = 'bar'
getattr(strfoo, strbar)()

但它给了我:

AttributeError: 'str' object has no attribute 'bar'

我知道字典可能是一种选择,但这让我不得不写一本很长的字典。

最佳答案

最好的方法是使用字典或类似的结构。但是,您可以使用邪恶的 eval 。或者您可以从 locals() 字典中获取您的实例:

getattr(locals()[instance_name], attribute_name)

我会考虑重新设计您的代码。必须有更好的解决方案,如 eval 或 locals ... 就像字典 ...

关于Python - 如何从给定的字符串调用实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33380656/

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