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查找目录下指定扩展名的文件实例
Apr 01 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
Apr 02 Python
pandas 透视表中文字段排序方法
Nov 16 Python
python脚本开机自启的实现方法
Jun 28 Python
Python对列表的操作知识点详解
Aug 20 Python
安装python及pycharm的教程图解
Oct 10 Python
Tensorflow分批量读取数据教程
Feb 07 Python
keras topN显示,自编写代码案例
Jul 03 Python
记一次django内存异常排查及解决方法
Aug 07 Python
Python控制台输出俄罗斯方块移动和旋转功能
Apr 18 Python
浅谈pytorch中的dropout的概率p
May 27 Python
分析Python list操作为什么会错误
Nov 17 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与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
2018/04/21 PHP
js 对象是否存在判断
2009/07/15 Javascript
早该知道的7个JavaScript技巧
2013/03/27 Javascript
javascript数组的使用
2013/03/28 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
Js判断CSS文件加载完毕的具体实现
2014/01/17 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
2018/03/03 Javascript
Express本地测试HTTPS的示例代码
2018/06/06 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
从0到1搭建Element的后台框架的方法步骤
2019/04/10 Javascript
vue单应用在ios系统中实现微信分享功能操作
2020/09/07 Javascript
python实现求最长回文子串长度
2018/01/22 Python
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
python实现名片管理系统
2018/11/29 Python
对pandas写入读取h5文件的方法详解
2018/12/28 Python
python面向对象法实现图书管理系统
2019/04/19 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
解决Python对齐文本字符串问题
2019/08/28 Python
python实现飞机大战小游戏
2019/11/08 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
一位农村小子的自荐信
2014/04/07 职场文书
学校清明节活动总结
2014/07/04 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
2014年标准化工作总结
2014/12/17 职场文书
党支部先进事迹材料
2014/12/24 职场文书
2015年教师教学工作总结
2015/04/28 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python