我真的很喜欢遵循PEP8中规定的风格标准。我有一个自动检查它的linter,当然我的代码也会因此变得更好。
PEP8只有一点,E251和E221感觉不太好。来自JavaScript背景,我曾经将变量赋值对齐如下:var var1 = 1234;
var2 = 54;
longer_name = 'hi';
var lol = {
'that' : 65,
'those' : 87,
'other_thing' : true
};
在我看来,这大大提高了可读性。问题是,这是PEP8建议的。对于字典来说,这还不错,因为冒号后面允许有空格: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更糟糕。
什么是最佳实践?
多年后编辑
不要对齐。迟早会有一个更长的新变量出现,你必须在这里和那里点击空格键一段时间,直到一切看起来都好起来。不值得。