首页 文章

可以在Python中将长行分成多行[重复]

提问于
浏览
430

这个问题在这里已有答案:

就像C一样,你可以将一条长线分成多条短线 . 但是在Python中,如果我这样做,会出现缩进错误......是否可能?

7 回答

  • 2

    来自PEP 8 - Style Guide for Python Code

    包装长行的首选方法是在括号,括号和括号内使用Python隐含的行继续 . 如有必要,您可以在表达式周围添加一对额外的括号,但有时使用反斜杠看起来更好 . 确保适当地缩进续行 .

    隐式行继续的示例:

    a = some_function(
        '1' + '2' + '3' - '4')
    

    关于二元运算符周围的换行主题,它继续说: -

    几十年来,推荐的风格是在二元运算符之后打破 . 但这会以两种方式损害可读性:操作员倾向于分散在屏幕上的不同列上,并且每个操作符都会从其操作数移到前一行 . 在Python代码中,只要约定在本地一致,就允许在二元运算符之前或之后中断 . 对于新代码,建议使用Knuth的样式(操作符之前的换行符) .

    显式行继续的示例:

    a = '1'   \
        + '2' \
        + '3' \
        - '4'
    
  • 8

    有不止一种方法可以做到这一点 .

    1) . 长篇陈述:

    >>> def print_something():
             print 'This is a really long line,', \
                   'but we can make it across multiple lines.'
    

    2) . 使用括号:

    >>> def print_something():
            print ('Wow, this also works?',
                   'I never knew!')
    

    3) . 再次使用 \

    >>> x = 10
    >>> if x == 10 or x > 0 or \
           x < 100:
           print 'True'
    

    引用PEP8

    包装长行的首选方法是在括号,括号和括号内使用Python隐含的行继续 . 如有必要,您可以在表达式周围添加一对额外的括号,但有时使用反斜杠看起来更好 . 确保适当地缩进续行 . 打破二元运算符的首选位置是运算符之后,而不是它之前 .

  • 20

    如果要将长str分配给变量,可以按如下方式执行:

    net_weights_pathname = (
        '/home/acgtyrant/BigDatas/'
        'model_configs/lenet_iter_10000.caffemodel')
    

    不要添加任何逗号,否则你会得到一个包含许多strs的元组!

  • 190

    它也适用于Python:

    >>> 1+\
          2+\
    3
    6
    >>> (1+
              2+
     3)
    6
    
  • 516

    当尝试输入连续文本(例如,查询)时,不要在行尾添加逗号,否则您将获得字符串列表而不是一个长字符串:

    queryText= "SELECT * FROM TABLE1 AS T1"\
    "JOIN TABLE2 AS T2 ON T1.SOMETHING = T2.SOMETHING"\
    "JOIN TABLE3 AS T3 ON T3.SOMETHING = T2.SOMETHING"\
    "WHERE SOMETHING BETWEEN <WHATEVER> AND <WHATEVER ELSE>"\
    "ORDER BY WHATEVERS DESC"
    

    有点像那样 .

    acgtyrant 有这样的评论,抱歉,没有看到 . :/

  • 14

    据我所知,可以做到 . 对于三引号字符串( """like this""" ),Python具有隐式行连续(括号内,括号和字符串),并且连续行的缩进并不重要 . 有关更多信息,您可能需要阅读python.org上有关词法分析的this文章 .

  • 10

    数据库相关代码在多行中看起来更容易,由一对三引号括起来:

    SQL = """SELECT
                id, 
                fld_1, 
                fld_2, 
                fld_3, 
                ...... 
             FROM some_tbl"""
    

    比下面的一条巨长线:

    SQL = "SELECT id, fld_1, fld_2, fld_3, .................................... FROM some_tbl"
    

相关问题