gpt4 book ai didi

python - buggy 参数传递的行为

转载 作者:行者123 更新时间:2023-11-28 20:52:31 25 4
gpt4 key购买 nike

我有一个函数:

def greeter(name, greeting, punc):
print greeting+', '+name+punc

我有一个带参数的字典:

params={'name':'Mark','greeting':'How are you','punc':'?'}

当我将函数调用为 greeter(**params) 时,我得到了预期的输出 How are you, Mark?。但是当我像这样调用 greeter(*params) 时,我得到输出 name, puncgreeting。看起来 params 中的键列表已传递给 greeter。这里到底发生了什么?

只是好奇。

最佳答案

Looks like a list of keys from params has been passed to greeter. What is actually happening here?

这确实或多或少正在发生。

*x 期望 x 是可迭代的,并对其进行迭代,将结果一个一个地解释为参数。默认情况下,遍历字典会遍历它的键。 (例如,您可以使用 greeter(*(params.items())) 获取名称/值对,但字典仍未排序,因此迭代顺序不可靠。)

关于python - buggy 参数传递的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6622088/

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