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使用正则表达式检测密码强度源码分享
Jun 11 Python
python之Socket网络编程详解
Sep 29 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
Apr 22 Python
Python通过cv2读取多个USB摄像头
Aug 28 Python
Python爬虫之urllib基础用法教程
Oct 12 Python
python图形用户接口实例详解
Dec 16 Python
Pytorch 中retain_graph的用法详解
Jan 07 Python
TensorFLow 变量命名空间实例
Feb 11 Python
打印tensorflow恢复模型中所有变量与操作节点方式
May 26 Python
python中pathlib模块的基本用法与总结
Aug 17 Python
Django扫码抽奖平台的配置过程详解
Jan 14 Python
Python中Selenium对Cookie的操作方法
Jul 09 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中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
2013/01/23 PHP
9段PHP实用功能的代码推荐
2014/10/14 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
2015/12/31 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
switch语句的妙用(必看篇)
2016/10/03 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
JS原生数据双向绑定实现代码
2017/08/14 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
详解微信小程序回到顶部的两种方式
2019/05/09 Javascript
vue-列表下详情的展开与折叠案例
2020/07/28 Javascript
Django框架中的对象列表视图使用示例
2015/07/21 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
一套带答案的C++笔试题
2014/01/10 面试题
汇源肾宝广告词
2014/03/20 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
老公给老婆的检讨书(精华篇)
2014/10/18 职场文书
2014年司法所工作总结
2014/11/22 职场文书
创先争优承诺书
2015/01/20 职场文书
《检阅》教学反思
2016/02/22 职场文书
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
pt-archiver 主键自增
2022/04/26 MySQL
使用scrapy实现增量式爬取方式
2022/06/21 Python
源码安装apache脚本部署过程详解
2022/09/23 Servers