我强迫python代码成为PEP8有点新,PEP8这行代码的首选方法是什么:
emissionprob = preprocessing.normalize(self.random_state.rand(self.n_components, self.n_symbols), norm='l1', axis=1, copy=False)
个人我有点奇怪,喜欢这种方式,这被认为是PEP8吗?
emissionprob = preprocessing.normalize(
self.random_state.rand(
self.n_components,
self.n_symbols
),
norm='l1',
axis=1,
copy=False
)
答案 0 :(得分:3)
我会发布如何做到这一点,我认为这看起来更干净但正如我之前所说,一旦你遵守PEP-8的基础知识,剩下的就是个人风格:
emissionprob = preprocessing.normalize(
self.random_state.rand(self.n_components, self.n_symbols),
norm='l1',
axis=1,
copy=False)
恕我直言,你使用太多的额外线条,看起来你似乎已经过分了。
答案 1 :(得分:2)
我和你有同样的偏好,pep8验证器不认为这是错误的:https://pypi.python.org/pypi/pep8
通常我认为建议这样做,但是我觉得它不太可读:
emissionprob = preprocessing.normalize(self.random_state.rand(self.n_components,
self.n_symbols),
norm='l1',
axis=1,
copy=False)
我个人这样做(请注意随处可见的尾随逗号):
emissionprob = preprocessing.normalize(
self.random_state.rand(
self.n_components,
self.n_symbols,
),
norm='l1',
axis=1,
copy=False,
)
答案 2 :(得分:1)
我认为你这样做的方式很好,但我会尽量使它与现有代码保持一致。
在这种特殊情况下,我可能会将第一个参数分配给临时变量。
rand = self.random_state.rand(self.n_components, self.n_symbols)
emissionprob = preprocessing.normalize(rand, norm='l1', axis=1, copy=False)