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线程池的实现实例
Nov 18 Python
零基础写python爬虫之抓取糗事百科代码分享
Nov 06 Python
Python判断直线和矩形是否相交的方法
Jul 14 Python
python实现域名系统(DNS)正向查询的方法
Apr 19 Python
python中多层嵌套列表的拆分方法
Jul 02 Python
Python实现决策树并且使用Graphviz可视化的例子
Aug 09 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
Pytorch 的损失函数Loss function使用详解
Jan 02 Python
使用python把xmind转换成excel测试用例的实现代码
Oct 12 Python
Pytorch中的学习率衰减及其用法详解
Jun 05 Python
Django对接elasticsearch实现全文检索的示例代码
Aug 02 Python
python 详解turtle画爱心代码
Feb 15 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获取远程图片并把它保存到本地的代码
2008/04/07 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
PHP 自动加载的简单实现(推荐)
2016/08/12 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
2019/09/02 PHP
Javascript 模式实例 观察者模式
2009/10/24 Javascript
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
2017/03/22 jQuery
详解nodejs模板引擎制作
2017/06/14 NodeJs
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
微信小程序系列之自定义顶部导航功能
2019/05/21 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
python mysqldb连接数据库
2009/03/16 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
2018/01/23 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
python实现磁盘日志清理的示例
2020/11/05 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
时尚、社区、科技:SEVENSTORE
2019/04/26 全球购物
教师实习期自我鉴定
2013/10/06 职场文书
历史专业个人求职信分享
2013/12/20 职场文书
学生党员的自我评价范文
2014/03/01 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python