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实现获取网站PR及百度权重
Jan 21 Python
Python正则表达式匹配HTML页面编码
Apr 08 Python
Django admin实现图书管理系统菜鸟级教程完整实例
Dec 12 Python
Python之pandas读写文件乱码的解决方法
Apr 20 Python
python Spyder界面无法打开的解决方法
Apr 27 Python
python smtplib发送带附件邮件小程序
May 22 Python
Python解决走迷宫问题算法示例
Jul 27 Python
python实现坦克大战游戏 附详细注释
Mar 27 Python
Python 抓取微信公众号账号信息的方法
Jun 14 Python
基于python3的socket聊天编程
Feb 17 Python
VScode连接远程服务器上的jupyter notebook的实现
Apr 23 Python
python opencv通过按键采集图片源码
May 20 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中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
基于PHP array数组的教程详解
2013/06/05 PHP
jQuery总体架构的理解分析
2011/03/07 Javascript
jQuery中需要注意的细节问题小结
2011/12/06 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
解析jquery获取父窗口的元素
2013/06/26 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
javascript时间函数大全
2014/06/30 Javascript
JS 作用域与作用域链详解
2015/04/07 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
2015/06/19 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
js仿360开机效果
2019/12/26 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
Python实现点云投影到平面显示
2020/01/18 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
维多利亚的秘密官方网站:Victoria’s Secret
2018/10/24 全球购物
早读迟到检讨书
2014/01/24 职场文书
小学生考试获奖感言
2014/01/30 职场文书
校园环保标语
2014/06/13 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书