我对强制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
)发布于 2013-04-17 16:51:39
我和您有相同的偏好,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,
)发布于 2013-04-17 16:57:22
我将只发布我将如何做,我认为这看起来更干净,但正如我之前说过的那样,一旦你遵守了PEP-8的基本知识,剩下的只是个人风格的问题:
emissionprob = preprocessing.normalize(
self.random_state.rand(self.n_components, self.n_symbols),
norm='l1',
axis=1,
copy=False)我想你用了太多额外的代码行了,看起来你用得有点过头了。
发布于 2013-04-17 17:01:36
我认为你这样做很好,但我会尽量保持它与现有代码的一致性。
在这种特殊情况下,我可能会将第一个参数赋给一个临时变量。
rand = self.random_state.rand(self.n_components, self.n_symbols)
emissionprob = preprocessing.normalize(rand, norm='l1', axis=1, copy=False)https://stackoverflow.com/questions/16055468
复制相似问题