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

在多行中连接python中的字符串

如何解决《在多行中连接python中的字符串》经验,为你挑选了3个好方法。

我有一些字符串要连接,结果字符串将很长.我也有一些变量要连接.

如何组合字符串和变量,以便结果是多行字符串?

以下代码抛出错误.

str = "This is a line" +
       str1 +
       "This is line 2" +
       str2 +
       "This is line 3" ;

我也尝试过这个

str = "This is a line" \
      str1 \
      "This is line 2" \
      str2 \
      "This is line 3" ;

请建议一种方法来做到这一点.



1> Bryan Oakley..:

有几种方法.一个简单的解决方案是添加括号:

strz = ("This is a line" +
       str1 +
       "This is line 2" +
       str2 +
       "This is line 3")

如果您想在单独的一行上显示每个"行",则可以添加换行符:

strz = ("This is a line\n" +
       str1 + "\n" +
       "This is line 2\n" +
       str2 + "\n" +
       "This is line 3\n")


不要忘记圆括号的开头和结尾!那让我感到难过。

2> 小智..:

Python不是php,你不需要$在变量名之前放置.

a_str = """This is a line
       {str1}
       This is line 2
       {str2}
       This is line 3""".format(str1="blabla", str2="blablabla2")



3> winklerrr..:
使用格式化字符串的Python 3解决方案

Python 3.6开始,您可以使用所谓的“格式化字符串”(或“ f字符串”)轻松地将变量插入字符串中。只需f在字符串前面添加一个,然后将变量写在花括号({})内,如下所示:

>>> name = "John Doe"
>>> f"Hello {name}"
'Hello John Doe'

要分割一个长字符串到多行包围零件用括号()),或使用一个多行字符串(由三个双引号内的字符串"""'''不是一个)。

1.解决方案:括号

字符串周围带有括号,您甚至可以将它们连接起来,而无需在它们+之间进行登录:

a_str = (f"This is a line \n{str1}\n"
         f"This is line 2 \n{str2}\n"
         "This is line 3") # no variable here, so no leading f

提提您:如果一行中没有变量,则不需要f该行的前导。

提提您可以\在每行的末尾使用反斜杠()而不是括号将相同的结果归档,但是对于PEP8,您应该更倾向于使用括号作为行继续:

通过将表达式包装在括号中,可以将长行分成多行。应优先使用这些,而不是使用反斜杠进行行连续。

2.解决方案:多行字符串

在多行字符串中,您不需要显式插入\n,Python会为您处理:

a_str = f"""This is a line
        {str1}
        This is line 2
        {str2}
        This is line 3"""

提提您:请确保您正确对齐代码,否则每行前面都会有空白。


顺便说一句:您不应该调用变量,str因为那是数据类型本身的名称。

格式化字符串的来源:

Python 3.6新增功能

PEP498

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