详解Python3 定义一个跨越多行的字符串的多种方法


 方法一:使用三引号

>>> str1 = '''Le vent se lève, il faut tenter de vivre. 
起风了,唯有努力生存。
(纵有疾风起,人生不言弃。)'''

>>> str1
'Le vent se lève, il faut tenter de vivre. \n起风了,唯有努力生存。\n(纵有疾风起,人生不言弃。)'

>>> print(str1)
Le vent se lève, il faut tenter de vivre. 
起风了,唯有努力生存。
(纵有疾风起,人生不言弃。)

编辑的时候,引号挺对的,但是不知道为什么发布的时候,第一行的引号总是多了一些,其实应该是下面这样的:

此种情况适用于想要多行表示某一多行字符串,实质上字符串是多行。

再举一个例子

>>> """
  <div class="AuthorInfo-content">
   <div class="AuthorInfo-head">
   <span class="UserLink AuthorInfo-name">
    <div class="Popover">
    <div id="Popover222-toggle" aria-haspopup="true" aria-expanded="false" aria-owns="Popover222-content">
     作者:<a class="UserLink-link" data-za-detail-view-element_name="User" target="_blank" href="{0}" rel="external nofollow" rel="external nofollow" >{1}</a>
    </div>
    </div>
   </span>
   </div>
   <div class="AuthorInfo-detail">
   <div class="AuthorInfo-badge">
    <div class="AuthorInfo-badgeText">
    签名:{2}
    </div>
   </div>
   </div>
  </div>
  <br/>
  """.format("https://stackoverflow.com/questions/45624449", "Using Python Variables in HTML in multiline Python string", "123")

再举一个用 f-string 格式化的例子,参考 https://realpython.com/python-f-strings/

>>> """
  <div class="AuthorInfo-content">
   <div class="AuthorInfo-head">
   <span class="UserLink AuthorInfo-name">
    <div class="Popover">
    <div id="Popover222-toggle" aria-haspopup="true" aria-expanded="false" aria-owns="Popover222-content">
     作者:<a class="UserLink-link" data-za-detail-view-element_name="User" target="_blank" href="{0}" rel="external nofollow" rel="external nofollow" >{1}</a>
    </div>
    </div>
   </span>
   </div>
   <div class="AuthorInfo-detail">
   <div class="AuthorInfo-badge">
    <div class="AuthorInfo-badgeText">
    签名:{2}
    </div>
   </div>
   </div>
  </div>
  <br/>
  """.format("https://stackoverflow.com/questions/45624449", "Using Python Variables in HTML in multiline Python string", "123")

下面的两种方法主要适用于一个长字符串一行表示不下,多行表示更为美观,实质上字符串还是一行。

方法二:使用反斜杠

>>> name = "Eric"
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> message = f"""
...   Hi {name}. 
...   You are a {profession}. 
...   You were in {affiliation}.
... """
...
>>> message
'\n  Hi Eric.\n  You are a comedian.\n  You were in Monty Python.\n'

方法三:使用小括号

>>> str3 = ('Le vent se lève, il faut tenter de vivre.' 
'起风了,唯有努力生存。'
'(纵有疾风起,人生不言弃。)')

>>> str3
'Le vent se lève, il faut tenter de vivre.起风了,唯有努力生存。(纵有疾风起,人生不言弃。)'

到此这篇关于详解Python3 定义一个跨越多行的字符串的多种方法的文章就介绍到这了,更多相关Python3 跨越多行的字符串内容请搜索来客网以前的文章或继续浏览下面的相关文章希望大家以后多多支持来客网!


相关链接