代码之家  ›  专栏  ›  技术社区  ›  utengr

Python函数中返回语句前的空行

  •  15
  • utengr  · 技术社区  · 7 年前

    我找不到任何政治公众人物在返回前使用空行的参考,所以想知道常见做法是什么。

    示例A1:

    def add(a,b):
        """ docstrings"""
        a = a + 2
        b = b + 2
        c = a +b
        return c
    

    def add(a,b):
        """ docstrings"""
        a = a + 2
        b = b + 2
        c = a +b
    
        return c
    

    示例B1:

    def add(a,b):
        """ docstrings"""
        if a > b:
           c = a + b
        else:
           c = a -b
        return c
    

    示例B2:

    def add(a,b):
        """ docstrings"""
        if a > b:
           c = a + b
        else:
           c = a -b
    
        return c
    

    def add(a):
        """ docstrings"""
        for i in range(3):
           a = a + i
        return a
    

    def add(a):
        """ docstrings"""
        for i in range(3):
           a = a + i
    
        return a
    

    在这些用例中,哪些是常见的做法(A、B、C)?当返回语句之前涉及if-else块或循环时,有什么变化吗?

    1 回复  |  直到 7 年前
        1
  •  11
  •   MSeifert    7 年前

    没有常见的做法(至少我在PEP风格中没有看到) return s和空行。

    但是有一个关于空行和docstring(参见 PEP 257 ):

    而且:

    --一般来说,类的方法通过一个空行彼此分离,docstring需要通过一个空行从第一个方法偏移。

    (强调矿山)

    PEP8

    风格指南是关于一致性的。与本风格指南保持一致很重要。项目内的一致性更为重要。一个模块或功能内的一致性是最重要的。

    然而,重要的是,PEP8建议尽量使用空行,并分隔逻辑部分(我认为“return”不是逻辑部分,而是YMMV):

    在函数中使用空行, 节俭地 ,表示 .