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

 更新时间:2020-09-07 04:39:10   作者:佚名   我要评论(0)

方法一:使用三引号


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

>>> str1
'Le vent

 方法一:使用三引号

>>> 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 跨越多行的字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • python输入多行字符串的方法总结
  • python多行字符串拼接使用小括号的方法
  • Python定义一个跨越多行的字符串的多种方法小结

相关文章

  • Nginx 根据URL带的参数转发的实现

    Nginx 根据URL带的参数转发的实现

    使用场景: 需要根据截取URL动态配置跳转路径,常见于访问内网不固定ip地址的文件图片, 请求地址:http://11.19.1.212:82/bimg4/32.52.62.42:222/DownLoadFile&
    2020-09-07
  • SpringBoot快速集成jxls-poi(自定义模板,支持本地文件导出,在线文件导出)

    SpringBoot快速集成jxls-poi(自定义模板,支持本地文件导出,在线文件导出)

    在项目持续集成的过程中,有时候需要实现报表导出和文档导出,类似于excel中这种文档的导出,在要求不高的情况下,有人可能会考虑直接导出csv文件来简化导出过程。但
    2020-09-07
  • 详解Java关于时间格式化的方法

    详解Java关于时间格式化的方法

    一般从数据库获取的时间或日期时间格式化为date或者datetime,为了方便前端渲染,API接口返回的时候需要对日期进行格式化转换,通常会用到 SimpleDateFormat 工具处
    2020-09-07
  • 详解Python3 定义一个跨越多行的字符串的多种方法

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

    方法一:使用三引号 >>> str1 = '''Le vent se lève, il faut tenter de vivre. 起风了,唯有努力生存。 (纵有疾风起,人生不言弃。)''' >>> str1 'Le vent
    2020-09-07
  • 谈谈Java中自定义注解及使用场景

    谈谈Java中自定义注解及使用场景

    Java自定义注解一般使用场景为:自定义注解+拦截器或者AOP,使用自定义注解来自己设计框架,使得代码看起来非常优雅。本文将先从自定义注解的基础概念说起,然后开始
    2020-09-07
  • Docker构建python Flask+ nginx+uwsgi容器

    Docker构建python Flask+ nginx+uwsgi容器

    安装Nginx 首先拉下centos镜像docker pull centos 我们安装最新的nginx1.19版本:下载地址 将centos镜像运行起来并进入: docker run --name ver -d -p 8051
    2020-09-07
  • 浅谈Python描述数据结构之KMP篇

    浅谈Python描述数据结构之KMP篇

    前言 &#8195;&#8195;本篇章主要介绍串的KMP模式匹配算法及其改进,并用Python实现KMP算法。 1. BF算法 &#8195;&#8195;BF算法,即Bruce&#8722;ForceBruce-ForceBruce
    2020-09-07
  • MySQL5.6升级5.7时出现主从延迟问题排查过程

    MySQL5.6升级5.7时出现主从延迟问题排查过程

    最近在做zabbix的数据库MySQL5.6升级5.7时,出现主从延迟问题,这个问题困扰了很久没有解决,昨天终于解决了,整理了一下整个排查过程,分享给大家。 环境说明:
    2020-09-07
  • nginx部署多个vue项目的方法示例

    nginx部署多个vue项目的方法示例

    上一篇已经介绍了然后配置web项目;今天由于公司需求,需要在同一域名端口下,部署两个项目;今天花了一上午终于弄好了,选择赶紧做一个笔记。 如何连接阿里云服务器
    2020-09-07
  • nginx 代理80端口转443端口的实现

    nginx 代理80端口转443端口的实现

    nginx.conf配置文件如下 user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_con
    2020-09-07

最新评论