当前位置: 首页 > 知识库问答 >
问题:

在Python中有没有编写多行字符串的干净方法?[副本]

韶景曜
2023-03-14
def useless_func():
    # WRONG WAY A : string_A displays well but breaks the 80 char max PEP 8 recommandation
    string_A = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."

    # WRONG WAY B : string_B will create unwanted spaces between word 'sed' and 'do' when printed
    string_B = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed\
        do eiusmod tempor incididunt ut labore et dolore magna aliqua."

    # WRONG WAY C : string_C displays well  but makes my code ugly because it breaks indentation
    string_C = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed\
do eiusmod tempor incididunt ut labore et dolore magna aliqua."

    # WRONG WAY D : string_D (triples quotes) has the same problem than string_B (unwanted spaces)
    string_D = '''Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
        do eiusmod tempor incididunt ut labore et dolore magna aliqua.'''

共有1个答案

史磊
2023-03-14

我会去:

def pr():
    # parentheses are for grouping and (as a bonus) for a pretty indentation
    s = ("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
         "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")
    print s

引用Python的非正式介绍:

两个相邻的字符串字元自动串联;上面的第一行也可以写成word='help''a';这只适用于两个文本,而不适用任意字符串表达式。

>>> s = 'a' 'b'
>>> s
'ab'
>>> s = 'a''b' # space is not necessary
>>> s
'ab'
>>> import dis
>>> dis.dis(pr)

 0 LOAD_CONST               1 ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')
// prints "hello world"
#include <stdio.h>

int main(int argc, char **argv) {
  printf("hello" " world");
  return 0;
}
 类似资料:
  • 我能够从赫尔辛基MOOC课程中弄清楚这个项目,但我认为有一种更干净、更容易阅读的方式来写它。目标是打印出:

  • 在我的应用程序中,有几个组件将生成各种不同类型的特定于应用程序的事件。这些事件将发布到代理并传递给N个客户端。其中一些客户端是我的服务器端应用程序中的其他Java类,但主要消费者是我的基于javascript的WebUI。 到目前为止,我目前的方法是定义一个抽象事件基类来封装一些公共字段,然后为每个事件实现一个特定的事件类。 这一直工作正常,只是现在我需要在javascript和java端维护事件

  • ...现在我想用这个文本创建一个字符串。例如在Python中: 但Python并不认为这是字符串,因为它包含换行符。我如何使这个文本成为一个字符串?

  • 问题内容: Go是否与Python的多行字符串相似? 如果不是,编写跨多行字符串的首选方式是什么? 问题答案: 根据语言规范,您可以使用原始字符串文字,该字符串由反引号而不是双引号分隔。

  • 本文向大家介绍groovy 多行字符串(没有多余的尾随换行符),包括了groovy 多行字符串(没有多余的尾随换行符)的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 问题内容: 我知道您可以通过以下几种方式创建多行字符串: 三引号 级联 转义 我也知道,在字符串前面加上前缀将使它成为原始字符串,对于文件路径很有用。 但是,我有一个长文件路径,该文件路径既跨越多行,又需要是原始字符串。我该怎么做呢? 这有效: 但是由于某些原因,这不是: 为什么只有一个反斜杠? 问题答案: 您需要在每个字符串文字上加一个前缀 否则,第一部分将被解释为原始字符串文字,但字符串的下一