Closed. This question is opinion-based。它目前不接受答案。
想改进这个问题吗?更新问题,以便editing this post可以用事实和引用来回答。
5年前关闭。
I'm a Python beginner, I read pep standards which must follow while programming in python
http://legacy.python.org/dev/peps/pep-0008
。正如他们所提到的,在函数或Dict中使用关键字参数或默认参数值时,不应在等号周围加空格。
例如

def myfunc(key1=val1, key2=val2, key3=val3)

def myfunc(key1 = val1, key2 = val2, key3 = val3)
。something like this(when we have many parameters or long name)
def myfunc(key1=val1, key2=val2, key3=val3)
。我说得对吗。因为这些都是关于可读性的,但我只是好奇是否也有标准。。

new_dict= Dict(
       key1=val1,
       key2=val2,
       key3=val3
)

和上面提到的例子不同,如果我在dict的最后一个参数后面加上逗号,我就不会在最后一个值后面加逗号(key3=val3)

最佳答案

PEP8clearly says
当用于指示关键字时,不要在=符号周围使用空格
参数或默认参数值。
在这两种情况下,不需要在等号周围加空格。
如果您不确定您的代码是否遵循PEP8标准,请使用flake8静态代码分析工具。如果出现代码样式冲突,它将发出警告。
例子:
假设等号周围有额外的空格:

def myfunc(key1 = 'val1',
           key2 = 'val2',
           key3 = 'val3'):
    return key1, key2, key3

flake8为每个意外空白输出警告:
$ flake8 test.py
test.py:3:16: E251 unexpected spaces around keyword / parameter equals
test.py:3:18: E251 unexpected spaces around keyword / parameter equals
test.py:4:16: E251 unexpected spaces around keyword / parameter equals
test.py:4:18: E251 unexpected spaces around keyword / parameter equals
test.py:5:16: E251 unexpected spaces around keyword / parameter equals
test.py:5:18: E251 unexpected spaces around keyword / parameter equals

10-08 20:27