gpt4 book ai didi

python - 如何使用函数的参数作为函数内另一个对象的对象?

转载 作者:行者123 更新时间:2023-12-01 05:33:37 25 4
gpt4 key购买 nike

我已经在这个问题上坚持了很长时间(实际上是几周),我已经完成了代码中除此之外的所有其他内容。我也进行了很多研究,但无法找到解决方案。我等了一个星期才来这里的唯一原因是因为我想自己解决这个问题,但现在,我放弃了!

现在,假设我有以下代码:

class test:
def meth1(self, obj):
self.hello = {}
return self.hello.obj()
def meth2(self):
test.meth1(self, 'keys')

现在,当我创建一个实例并尝试调用方法 meth2 时,如下所示:

x = test()
x.meth2()

由于显而易见的原因,它给了我一个错误。我怎样才能让它做我想做的事——将参数传递给函数并将该参数用作另一个对象的对象?

最佳答案

看起来你想要 getattr() :

def meth1(self, obj):
self.hello = {}
return getattr(self.hello, obj)()

getattr(a, b)相当于 a.b (其中第二种情况下的 b 是第一种情况下的 b 所保存的字符串)。在这种情况下,aself.hellobobj 。从您的代码片段来看,您似乎想调用 obj属性而不是直接返回它,这就是为什么我们有 ()在最后。

<小时/>
>>> class test:
... def meth1(self, obj):
... self.hello = {}
... return getattr(self.hello, obj)()
... def meth2(self):
... return test.meth1(self, 'keys')
...
>>> x = test()
>>> x.meth2()
[]

关于python - 如何使用函数的参数作为函数内另一个对象的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19622134/

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