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中的并发编程实例
Jul 07 Python
跟老齐学Python之变量和参数
Oct 10 Python
python实现马耳可夫链算法实例分析
May 20 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
Apr 21 Python
Python HTTP客户端自定义Cookie实现实例
Apr 28 Python
python用户管理系统
Mar 13 Python
对python中的xlsxwriter库简单分析
May 04 Python
python操作excel文件并输出txt文件的实例
Jul 10 Python
Django模型序列化返回自然主键值示例代码
Jun 12 Python
Django之choices选项和富文本编辑器的使用详解
Apr 01 Python
Python通过队列来实现进程间通信的示例
Oct 14 Python
Python利用zhdate模块实现农历日期处理
Mar 31 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
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
php四种基础算法代码实例
2013/10/29 PHP
php获取一个变量的名字的方法
2014/09/05 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2014/09/12 PHP
PHP内存缓存功能memcached示例
2016/10/19 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
Laravel中如何轻松容易的输出完整的SQL语句
2020/07/26 PHP
jquery中获得$.ajax()事件返回的值并添加事件的方法
2010/04/15 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
window.onresize 多次触发的解决方法
2013/11/08 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
浅谈express 中间件机制及实现原理
2017/08/31 Javascript
jQuery实现的简单动态添加、删除表格功能示例
2017/09/21 jQuery
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
Python字符串和字典相关操作的实例详解
2017/09/23 Python
pandas值替换方法
2018/07/10 Python
python进行TCP端口扫描的实现
2018/12/21 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
python中enumerate() 与zip()函数的使用比较实例分析
2019/09/03 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
酒店管理专业毕业生推荐信
2013/11/10 职场文书
医疗纠纷协议书
2014/04/16 职场文书
企业文化口号
2014/06/12 职场文书
同学聚会邀请函
2015/01/30 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python
Vue router配置与使用分析讲解
2022/12/24 Vue.js