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实现排序算法
Feb 14 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
Aug 05 Python
django创建自定义模板处理器的实例详解
Aug 14 Python
对python中for、if、while的区别与比较方法
Jun 25 Python
python基于itchat模块实现微信防撤回
Apr 29 Python
Django Sitemap 站点地图的实现方法
Apr 29 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
Apr 24 Python
Django admin组件的使用
Oct 24 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
Nov 20 Python
Ubuntu20下的Django安装的方法步骤
Jan 24 Python
python实现学生通讯录管理系统
Feb 25 Python
Python+pyaudio实现音频控制示例详解
Jul 23 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
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
PHP折半(二分)查找算法实例分析
2018/05/12 PHP
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
编写高效jQuery代码的4个原则和5个技巧
2014/04/24 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
python逆向入门教程
2018/01/15 Python
python3.5绘制随机漫步图
2018/08/27 Python
使用python socket分发大文件的实现方法
2019/07/08 Python
python第三方库学习笔记
2020/02/07 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
浅谈matplotlib默认字体设置探索
2021/02/03 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
中专自我鉴定范文
2013/10/16 职场文书
妇产医师自荐信
2014/01/29 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
大班上学期个人总结
2015/02/13 职场文书
2015年安全月活动总结
2015/03/26 职场文书
小学语文教师竞聘演讲稿范文
2019/08/09 职场文书
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android
nginx.conf配置文件结构小结
2022/04/08 Servers