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备份文件以及mysql数据库的脚本代码
Jun 10 Python
python读取Android permission文件
Nov 01 Python
python解析html开发库pyquery使用方法
Feb 07 Python
Python中optionParser模块的使用方法实例教程
Aug 29 Python
对Python多线程读写文件加锁的实例详解
Jan 14 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
python绘制雪景图
Dec 16 Python
tensorflow 重置/清除计算图的实现
Jan 19 Python
通过实例解析python描述符原理作用
Jan 22 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
Mar 23 Python
Python分析最近大火的网剧《隐秘的角落》
Jul 02 Python
python神经网络学习 使用Keras进行简单分类
May 04 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连接SQLServer2005 的问题解决方法
2010/07/19 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
PHP多维数组排序array详解
2017/11/21 PHP
什么是PHP7中的孤儿进程与僵尸进程
2019/04/14 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
js 判断 enter 事件
2009/02/12 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
[03:04]2018年度DOTA2玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
python基础教程之元组操作使用详解
2014/03/25 Python
使用Python的Django框架结合jQuery实现AJAX购物车页面
2016/04/11 Python
python+os根据文件名自动生成文本
2019/03/21 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
python通过移动端访问查看电脑界面
2020/01/06 Python
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
2019年分享net面试的经历和题目
2016/08/07 面试题
大学生村官演讲稿
2014/04/25 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
vue-cil之axios的二次封装与proxy反向代理使用说明
2022/04/07 Vue.js
Java 写一个简单的图书管理系统
2022/04/26 Java/Android