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实现封装得到virustotal扫描结果
Oct 05 Python
Python函数返回值实例分析
Jun 08 Python
python 数据清洗之数据合并、转换、过滤、排序
Feb 12 Python
python实现AES加密与解密
Mar 28 Python
python安装pil库方法及代码
Jun 25 Python
python框架Django实战商城项目之工程搭建过程图文详解
Mar 09 Python
Python 测试框架unittest和pytest的优劣
Sep 26 Python
Python安装并操作redis实现流程详解
Oct 13 Python
numba提升python运行速度的实例方法
Jan 25 Python
Python读取文件夹下的所有文件实例代码
Apr 02 Python
python 命令行传参方法总结
May 25 Python
使用Djongo模块在Django中使用MongoDB数据库
Jun 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
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
php循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
PHP中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
yii分页组件用法实例分析
2015/12/28 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
2017/04/13 Javascript
jquery replace方法去空格
2017/05/08 jQuery
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
2019/04/04 Javascript
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
Vue实现小购物车功能
2020/12/21 Vue.js
Python的迭代器和生成器
2015/07/29 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
Python拼接字符串的7种方法总结
2018/11/01 Python
django-rest-framework 自定义swagger过程详解
2019/07/18 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
Linux如何为某个操作添加别名
2015/02/05 面试题
Linux文件操作命令都有哪些
2015/02/27 面试题
怎样写辞职信
2015/02/27 职场文书
实习感想范文
2015/08/10 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL