当前位置:  开发笔记 > 编程语言 > 正文

继续对新线路进行方法签名的公约

如何解决《继续对新线路进行方法签名的公约》经验,为你挑选了1个好方法。

请考虑以下版本的代码:

def __init__(self, broker, group, offset='largest', commit_every_x_ms=1000,
             parts=None):
    #       ^
    pass

VS

def __init__(self, broker, group, offset='largest',
        commit_every_t_ms=1000, parts=None):
    #  ^
    pass

我认为第二个选项看起来更好,因为它可以节省具有非常大的名称的函数所需的行,但哪一个将被认为更pythonic?



1> Brian..:

请参阅PEP 0008(https://www.python.org/dev/peps/pep-0008/):

Yes:

# Aligned with opening delimiter.
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

# More indentation included to distinguish this from the rest.
def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

# Hanging indents should add a level.
foo = long_function_name(
    var_one, var_two,
    var_three, var_four)

No:

# Arguments on first line forbidden when not using vertical alignment.
foo = long_function_name(var_one, var_two,
    var_three, var_four)

# Further indentation required as indentation is not distinguishable.
def long_function_name(
    var_one, var_two, var_three,
    var_four):
    print(var_one)

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有