后面有两个元组的getattr

2024-04-18 21:57:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个代码库,其中包含一行我真的无法理解:

x, x, z = getattr(ReceiveFile, maxsizes)(input, args)

所以如果结尾没有第二个元组

^{pr2}$

如何解释结尾的元组(input, args)?我不能那么容易地运行这段代码并使用调试器来理解。。在


Tags: 代码input结尾args调试器元组getattrpr2
2条回答

给定maxsizes变量的字符串值:

maxsizes = "abc"

以下内容

^{pr2}$

相当于:

x, x, z = ReceiveFile.abc(input, args)

或者换句话说:对象ReceiveFile有一个名为maxsizes(即ReceiveFile.abc)的方法,该方法通过参数input和{}来调用。{cd7>不要用括号来表示函数。在

getattr返回一个函数,然后用input和{}作为参数调用该函数。然后将该函数的返回值解压为xy和{}。在

在较长的形式中,它与

f = getattr(ReceiveFile, maxsizes)
x, y, z = f(input, args)

相关问题 更多 >