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之集成开发环境(IDE)
Sep 12 Python
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
Nov 06 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
Jun 16 Python
windows下python之mysqldb模块安装方法
Sep 07 Python
python的一些加密方法及python 加密模块
Jul 11 Python
python实现图片压缩代码实例
Aug 12 Python
Python实现ATM系统
Feb 17 Python
python如何更新包
Jun 11 Python
使用npy转image图像并保存的实例
Jul 01 Python
python源文件的字符编码知识点详解
Mar 04 Python
Django基础CBV装饰器和中间件
Mar 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
php 404错误页面实现代码
2009/06/22 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
2013/06/02 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
thinkPHP实现将excel导入到数据库中的方法
2016/04/22 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
2016/11/22 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
JavaScript prototype对象的属性说明
2010/03/13 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
js 调用本地exe的例子(支持IE内核的浏览器)
2012/12/26 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
vue 解决addRoutes动态添加路由后刷新失效问题
2018/07/02 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
详解Vuex下Store的模块化拆分实践
2019/07/31 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
python中cPickle用法例子分享
2014/01/03 Python
使用python分析git log日志示例
2014/02/27 Python
python-str,list,set间的转换实例
2018/06/27 Python
Python中typing模块与类型注解的使用方法
2019/08/05 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
Mistine官方海外旗舰店:泰国国民彩妆品牌
2016/12/28 全球购物
离婚纠纷代理词
2015/05/23 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书
导游词之青城山景区
2019/09/27 职场文书
关于flex 上下文中自动 margin的问题(完整例子)
2021/05/20 HTML / CSS
Spring中bean的生命周期之getSingleton方法
2021/06/30 Java/Android