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 10 Python
Python栈类实例分析
Jun 15 Python
python在控制台输出进度条的方法
Jun 20 Python
Python中django学习心得
Dec 06 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
Python实现的列表排序、反转操作示例
Mar 13 Python
使用Python做垃圾分类的原理及实例代码附源码
Jul 02 Python
python的常见矩阵运算(小结)
Aug 07 Python
django 数据库返回queryset实现封装为字典
May 19 Python
django filter过滤器实现显示某个类型指定字段不同值方式
Jul 16 Python
Python图像读写方法对比
Nov 16 Python
解决Pytorch中关于model.eval的问题
May 22 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
smarty 原来也不过如此~~呵呵
2006/11/25 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
2013/01/06 PHP
php导入模块文件分享
2015/03/17 PHP
php短信接口代码
2016/05/13 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
详解Angular操作cookies方法
2018/06/01 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
python获取远程图片大小和尺寸的方法
2015/03/26 Python
Python访问纯真IP数据库脚本分享
2015/06/29 Python
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
python发送邮件实例分享
2017/07/28 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
python定时按日期备份MySQL数据并压缩
2019/04/19 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
2020/03/30 Python
Python通过len函数返回对象长度
2020/10/22 Python
英国版MAC彩妆品牌:Illamasqua
2018/04/18 全球购物
荷兰照明、灯具和配件网上商店:dmlights
2019/08/25 全球购物
一个大学生十年的职业规划
2014/01/17 职场文书
2014年仓库保管员工作总结
2014/12/03 职场文书
高中家长意见怎么写
2015/06/03 职场文书