gpt4 book ai didi

python - PEP 8,为什么在关键字参数或默认参数值中 '=' 周围没有空格?

转载 作者:IT老高 更新时间:2023-10-28 21:10:00 24 4
gpt4 key购买 nike

为什么 PEP 8 recommend not having spaces around = in a keyword argument or a default parameter value ?

这与在 Python 代码中每隔一个出现的 = 推荐空格不一致吗?

怎么样:

func(1, 2, very_long_variable_name=another_very_long_variable_name)

优于:

func(1, 2, very_long_variable_name = another_very_long_variable_name)

任何指向 Python 的 BDFL 的讨论/解释的链接将不胜感激。

请注意,这个问题更多的是关于 kwargs 而不是默认值,我只是使用了 PEP 8 中的措辞。

我不是在征求意见。我在问这个决定背后的原因。这更像是问 why 我会在 C 程序中的 if 语句的同一行使用 {,而不是 是否> 我应该用还是不用。

最佳答案

我猜这是因为关键字参数与变量赋值本质上不同。

例如,有很多这样的代码:

kw1 = some_value
kw2 = some_value
kw3 = some_value
some_func(
1,
2,
kw1=kw1,
kw2=kw2,
kw3=kw3)

如您所见,将变量分配给名称完全相同的关键字参数是完全有意义的,因此它提高了在没有空格的情况下查看它们的可读性。更容易识别出我们使用的是关键字参数,而不是为自身分配变量。

此外,参数往往在同一行中,而分配通常在各自的行中,因此节省空间可能是其中的一个重要问题。

关于python - PEP 8,为什么在关键字参数或默认参数值中 '=' 周围没有空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8853063/

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