CPython如何解析* args?

时间:2018-12-23 13:12:20

标签: variadic-functions evaluation cpython args

CPython在幕后如何评估像这样的表达式

args = (2,3)
print(*args) 

上面的内容显然打印了2 3,但是CPython怎么做才能使它出现? 。因此,我可以认为*运算符作为一种宏应用于可迭代对象,即CPython在运行时仅替换为可迭代内容吗?

所有想将我的问题标记为重复的人(过去发生)的提示What does ** (double star/asterisk) and * (star/asterisk) do for parameters?未解决此问题
该问题解决了*在各种情况下的行为-我对此一无所知。
这里也只提到了CPython(没有解决我的问题)。

我想“内部”知道CPython如何对待上面粘贴的代码。我是否可以将*运算符视为一种宏,将CPython在运行时仅替换为可迭代的内容-还是CPython在解析*args时在做一些更复杂的操作?上面的情况?

0 个答案:

没有答案