我真的很喜欢遵循 PEP 8 中指定的样式标准。我有一个自动检查它的 linter,因此我的代码肯定要好得多。
PEP 8 中只有一点,E251 和 E221 感觉不是很好。来自 JavaScript 背景,我曾经将变量分配对齐如下:
var var1 = 1234;
var2 = 54;
longer_name = 'hi';
var lol = {
'that' : 65,
'those' : 87,
'other_thing' : true
};
在我看来,这极大地提高了可读性。问题是,PEP 8 不建议这样做。对于字典,这还不错,因为冒号后面允许有空格:
dictionary = {
'something': 98,
'some_other_thing': False
}
我可以在没有对齐的情况下“生活”变量赋值,但我根本不喜欢的是不能在函数调用中传递命名参数,如下所示:
some_func(length= 40,
weight= 900,
lol= 'troll',
useless_var= True,
intelligence=None)
所以,我最终做的是使用字典,如下所示:
specs = {
'length': 40,
'weight': 900,
'lol': 'troll',
'useless_var': True,
'intelligence': None
}
some_func(**specs)
或者只是简单地
some_func(**{'length': 40,
'weight': 900,
'lol': 'troll',
'useless_var': True,
'intelligence': None})
但我觉得这种解决方法比忽略 PEP 8 E251 / E221 更糟糕。
最佳做法是什么?
多年后编辑
不要对齐。迟早会出现一个更长的新变量,您将不得不在这里和那里按空格键一段时间,直到一切看起来都恢复正常。不值得。
多年后编辑 只需使用像黑色这样的代码格式化程序并将其用作预提交和/或您的 CI。然后忘记这个。