gpt4 book ai didi

Python 字典 : why and when I have to use sometimes ":" and sometimes "=" between the key and the value?

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:09 25 4
gpt4 key购买 nike

我正在研究 Python 中字典的使用,我对必须用来将键与值分开的符号以及键的“”感到越来越困惑。

通常,我会这样写:

user = {"name": "John", "surname": "Doe", "age": 34, "gender": "Male"}

但是,为什么我要写:

user = dict(name="Jack")

...在键(不写“”)和值之间有一个“=”?我还有一个例子:

def favourite_colour (**args):

for name, colour in args.items():

print (f"{person}'s favourite colour is {colour}.")
favourite_colour(Jude="green", Giulio="orange", Chiara="black")

请问有逻辑解释吗?

最佳答案

前者是字典,后者是函数的关键字参数。我看不出它们有何不同。

这就像问为什么 float 除法要用/,整数除法要用//。您要求 Python 做两件不同的事情,因此您需要两种不同的语法。

请注意,您也可以将 foo(bar=baz) 调用为 foo(**{bar: baz}),它提供字典作为一组关键字foo 的参数。


另请注意,: 在函数签名中已经具有意义——它是一个函数注释。

def foo(bar: "this is a bar object"):
return raise_the(bar)

您可以将字典语法作为 {key=value, key2=value2} 的参数,但是 = 运算符意味着赋值,而您并不是真正在赋值键的值,您只是将它关联到此映射中的键。我觉得不合适。

关于Python 字典 : why and when I have to use sometimes ":" and sometimes "=" between the key and the value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51505468/

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