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

编写值时如何将值赋给变量需要多行(python)

  •  1
  • snakile  · 技术社区  · 14 年前

    我有一个变量x,我想给它分配一个很长的字符串。因为字符串很长,我把它分成10个子字符串。我想这样做:

    x =
       'a very long string - part 1'+
       'a very long string - part 2'+
       'a very long string - part 3'+
                    ...
       'a very long string - part 10'
    

    但事实证明这是一个无效的语法。有效的语法是什么?

    2 回复  |  直到 14 年前
        1
  •  5
  •   Community Ramakrishna.p    4 年前

    如果你想要一个没有换行符的字符串,你可以

    >>> x = (
    ... 'a very long string - part 1' +
    ... 'a very long string - part 2' +
    ... 'a very long string - part 3' )
    >>> x
    'a very long string - part 1a very long string - part 2a very long string - part 3'
    >>> 
    

    + 操作员不必与 string literals :

    2.4.2. 串字面值的连接

    re.compile("[A-Za-z_]"       # letter or underscore
           "[A-Za-z0-9_]*"   # letter, digit or underscore
          )
    

    您的案例:

    >>> x = (
    ... 'a very long string - part 1' 
    ... 'a very long string - part 2' 
    ... 'a very long string - part 3' )
    >>> x
    'a very long string - part 1a very long string - part 2a very long string - part 3'
    >>> 
    
        2
  •  4
  •   David Webb    14 年前

    通常Python会发现一行接着下一行,但是如果它没有在每行的末尾加反斜杠:

    >>> x = 'a' + \
    ...     'b' + \
    ...     'c'
    >>> x
    'abc'
    

    或者使用括号之类的标准语法来说明:

    >>> x = ('a' +
    ...      'b' +
    ...      'c')
    >>> x
    'abc'
    

    可以使用三重引号创建长字符串- """ -但是请注意,任何新闻行都将包含在字符串中。

    >>> x = """a very long string part 1
    ... a very long string part 2
    ... a very long string part 3
    ... a very long string part 4"""
    >>> x
    'a very long string part 1\na very long string part 2\na very long string part 3\na very long string part 4'