这个Python表达式的意思是什么?func(self)(*args)

8 浏览
0 Comments

这个Python表达式的意思是什么?func(self)(*args)

这个问题已经有了答案:

什么是函数调用中的 **(双星号 / 星号)和 *(星号 / 星号)?

我看到一些 Python 代码,例如:getattr(self, that)(*args) 它是什么意思?我看到内置函数 getattr 被调用,传递当前对象和 that 作为参数;但在此之后 (*args) 是做什么的?它使用 *args 作为参数调用了什么东西吗?

admin 更改状态以发布 2023年5月21日
0
0 Comments

它调用由getattr(self, that)返回的值,并使用数组args中指定的参数。

例如,假设that = 'thatFunction'args = [1,2,3],那么它等同于

self.thatFunction(1, 2, 3)

0
0 Comments

你很有眼光。 that 将会是该对象上的一个方法的名称。 getattr() 返回该方法(函数),然后调用它。因为函数是一级成员,所以可以传递,返回等等。

0