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开发中module模块用法实例分析
Nov 12 Python
python爬取51job中hr的邮箱
May 14 Python
Python实现修改IE注册表功能示例
May 10 Python
python3处理含有中文的url方法
May 10 Python
python元组的概念知识点
Nov 19 Python
python scrapy重复执行实现代码详解
Dec 28 Python
Pytoch之torchvision.transforms图像变换实例
Dec 30 Python
python下载卫星云图合成gif的方法示例
Feb 18 Python
Python基础之字符串常见操作经典实例详解
Feb 26 Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 Python
基于python实现MQTT发布订阅过程原理解析
Jul 27 Python
PyCharm配置anaconda环境的步骤详解
Jul 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
PHP上传文件时文件过大$_FILES为空的解决方法
2013/11/26 PHP
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
JavaScript学习笔记之图片库案例分析
2019/01/08 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
[06:04]DOTA2国际邀请赛纪录片:Just For LGD
2013/08/11 DOTA
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python实现计算圆周率π的值到任意位的方法示例
2018/05/08 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
Python json解析库jsonpath原理及使用示例
2020/11/25 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
应用电子专业学生的自我评价
2013/10/16 职场文书
触电现场处置方案
2014/05/14 职场文书
展览会邀请函
2015/02/02 职场文书
推荐信范文大全
2015/03/27 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
新闻稿件写作范文
2015/07/18 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python