python3 拼接字符串的7种方法


Posted in Python onSeptember 12, 2018

Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下兼容。

1、直接通过(+)操作符拼接

>>> 'Hello' + ' ' + 'World' + '!'
'Hello World!'

使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。

2、通过str.join()方法拼接

>>> strlist = ['Hello', ' ', 'World', '!']
>>> ''.join(strlist)
'Hello World!'

这种方式一般常使用在将集合转化为字符串,''.join()其中''可以是空字符,也可以是任意其他字符,当是任意其他字符时,集合中字符串会被该字符隔开。

3、通过str.format()方法拼接

>>> '{} {}!'.format('Hello', 'World')
'Hello World!'

通过这种方式拼接字符串需要注意的是字符串中{}的数量要和format方法参数数量一致,否则会报错。

4、通过(%)操作符拼接

>>> '%s %s!' % ('Hello', 'World')
'Hello World!'

这种方式与str.format()使用方式基本一致。

5、通过()多行拼接

>>> (
...   'Hello'
...   ' '
...   'World'
...   '!'
... )
'Hello World!'

python遇到未闭合的小括号,自动将多行拼接为一行。

6、通过string模块中的Template对象拼接

>>> from string import Template
>>> s = Template('${s1} ${s2}!') 
>>> s.safe_substitute(s1='Hello',s2='World')
'Hello World!'

Template的实现方式是首先通过Template初始化一个字符串。这些字符串中包含了一个个key。通过调用substitute或safe_subsititute,将key值与方法中传递过来的参数对应上,从而实现在指定的位置导入字符串。这种方式的好处是不需要担心参数不一致引发异常,如:

>>> from string import Template
>>> s = Template('${s1} ${s2} ${s3}!') 
>>> s.safe_substitute(s1='Hello',s2='World')
'Hello World ${s3}!'

7、通过F-strings拼接

在python3.6.2版本中,PEP 498 提出一种新型字符串格式化机制,被称为“字符串插值”或者更常见的一种称呼是F-strings,F-strings提供了一种明确且方便的方式将python表达式嵌入到字符串中来进行格式化:

>>> s1 = 'Hello'
>>> s2 = 'World'
>>> f'{s1} {s2}!'
'Hello World!'

在F-strings中我们也可以执行函数:

>>> def power(x):
...   return x*x
... 
>>> x = 5
>>> f'{x} * {x} = {power(x)}'
'5 * 5 = 25'

而且F-strings的运行速度很快,比%-string和str.format()这两种格式化方法都快得多。

总结

以上所述是小编给大家介绍的python3 拼接字符串的7种方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python爬取网易云音乐上评论火爆的歌曲
Jan 19 Python
详解python 字符串和日期之间转换 StringAndDate
May 04 Python
Python编程scoketServer实现多线程同步实例代码
Jan 29 Python
python解析xml简单示例
Jun 21 Python
Python检查 云备份进程是否正常运行代码实例
Aug 22 Python
Python二元赋值实用技巧解析
Oct 25 Python
关于多元线性回归分析——Python&SPSS
Feb 24 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
May 03 Python
如何利用python之wxpy模块玩转微信
Aug 17 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
Sep 15 Python
python编程项目中线上问题排查与解决
Nov 01 Python
python简单操作excle的方法
Sep 12 #Python
使用python实现快速搭建简易的FTP服务器
Sep 12 #Python
python ftp 按目录结构上传下载的实现代码
Sep 12 #Python
python3结合openpyxl库实现excel操作的实例代码
Sep 11 #Python
python创建文件备份的脚本
Sep 11 #Python
python实现飞机大战
Sep 11 #Python
pygame实现简易飞机大战
Sep 11 #Python
You might like
PHP截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
封装ThinkPHP的一个文件上传方法实例
2014/10/31 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
一个简单的js动画效果代码
2010/07/20 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
jQuery的end()方法使用详解
2015/07/15 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
Angular2.js实现表单验证详解
2017/06/23 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
jQuery Ajax async=>false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
vue-simple-uploader上传成功之后的response获取代码
2020/09/07 Javascript
全面了解python字符串和字典
2016/07/07 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
Python实现区域填充的示例代码
2021/02/03 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
html5手机端页面可以向右滑动导致样式受影响的问题
2018/06/20 HTML / CSS
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
美国职棒大联盟的官方手套、球和头盔:Rawlings
2020/02/15 全球购物
潘婷洗发水广告词
2014/03/14 职场文书
买房协议书范本
2014/10/23 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang
Promise面试题详解之控制并发
2021/05/14 面试题
Python 发送SMTP邮件的简单教程
2021/06/24 Python