首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pep8此行代码的首选方法

pep8此行代码的首选方法
EN

Stack Overflow用户
提问于 2013-04-17 16:43:25
回答 3查看 183关注 0票数 2

我对强制python代码成为PEP8还是个新手,PEP8这行代码的首选方法是什么?

代码语言:javascript
复制
emissionprob = preprocessing.normalize(self.random_state.rand(self.n_components, self.n_symbols), norm='l1', axis=1, copy=False)

就我个人而言,我有点奇怪,喜欢这样,这算不算PEP8?

代码语言:javascript
复制
emissionprob = preprocessing.normalize(
    self.random_state.rand(
        self.n_components, 
        self.n_symbols
    ), 
    norm='l1', 
    axis=1, 
    copy=False
)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-17 16:51:39

我和您有相同的偏好,pep8验证器不认为这是错误的:https://pypi.python.org/pypi/pep8

通常我认为建议这样做,但我发现它的可读性较差:

代码语言:javascript
复制
emissionprob = preprocessing.normalize(self.random_state.rand(self.n_components, 
                                                              self.n_symbols), 
                                       norm='l1', 
                                       axis=1, 
                                       copy=False)

我个人是这样做的(注意后面到处都是逗号):

代码语言:javascript
复制
emissionprob = preprocessing.normalize(
    self.random_state.rand(
        self.n_components, 
        self.n_symbols,
    ), 
    norm='l1', 
    axis=1, 
    copy=False,
)
票数 2
EN

Stack Overflow用户

发布于 2013-04-17 16:57:22

我将只发布我将如何做,我认为这看起来更干净,但正如我之前说过的那样,一旦你遵守了PEP-8的基本知识,剩下的只是个人风格的问题:

代码语言:javascript
复制
emissionprob = preprocessing.normalize(
    self.random_state.rand(self.n_components, self.n_symbols),
    norm='l1',
    axis=1,
    copy=False)

我想你用了太多额外的代码行了,看起来你用得有点过头了。

票数 3
EN

Stack Overflow用户

发布于 2013-04-17 17:01:36

我认为你这样做很好,但我会尽量保持它与现有代码的一致性。

在这种特殊情况下,我可能会将第一个参数赋给一个临时变量。

代码语言:javascript
复制
rand = self.random_state.rand(self.n_components, self.n_symbols)
emissionprob = preprocessing.normalize(rand, norm='l1', axis=1, copy=False)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16055468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档