Python 中字符串拼接的多种方法


Posted in Python onJuly 30, 2018

python拼接字符串一般有以下几种方法:

①直接通过(+)操作符拼接

s = 'Hello'+' '+'World'+'!'
print(s)

输出结果: Hello World!

使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。

②通过str.join()方法拼接

strlist=['Hello',' ','World','!']
print(''.join(strlist))

输出结果: Hello World!

这种方式一般常使用在将集合转化为字符串,''.join()其中''可以是空字符,也可以是任意其他字符,当是任意其他字符时,集合中字符串会被该字符隔开,例如:

​strlist=['Hello',' ','World','!']
print(','.join(strlist))

输出结果: Hello, ,World,!

③通过str.format()方法拼接

s='{} {}!'.format('Hello','World')
print(s)

输出结果: Hello World!

通过这种方式拼接字符串需要注意的是字符串中{}的数量要和format方法参数数量一致,否则会报错。

④通过(%)操作符拼接

s = '%s %s!' % ('Hello', 'World')
print(s)

输出结果: Hello World!

这种方式与str.format()使用方式基本一致。

⑤通过()多行拼接

s = (
  'Hello'
  ' '
  'World'
  '!'
)
print(s)

输出结果: Hello World!

python遇到未闭合的小括号,自动将多行拼接为一行。

⑥通过string模块中的Template对象拼接

from string import Template
s = Template('${s1} ${s2}!') 
print(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}!') 
print(s.safe_substitute(s1='Hello',s2='World'))

输出结果: Hello World ${s3}!

⑦通过F-strings拼接

在python3.6.2版本中,PEP 498 提出一种新型字符串格式化机制,被称为“字符串插值”或者更常见的一种称呼是 F-strings, F-strings提供了一种明确且方便的方式将python表达式嵌入到字符串中来进行格式化:

s1='Hello'
s2='World'
print(f'{s1} {s2}!')

输出结果: Hello World!

在F-strings中我们也可以执行函数:

def power(x):
  return x*x
x=4
print(f'{x} * {x} = {power(x)}')

输出结果: 4 * 4 = 16

而且F-strings的运行速度很快,比%-string和str.format()这两种格式化方法都快得多。

总结

以上所述是小编给大家介绍的Python 中字符串拼接的多种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
使用python将mdb数据库文件导入postgresql数据库示例
Feb 17 Python
Python实现的数据结构与算法之快速排序详解
Apr 22 Python
教你学会使用Python正则表达式
Sep 07 Python
Python爬取十篇新闻统计TF-IDF
Jan 03 Python
flask中主动抛出异常及统一异常处理代码示例
Jan 18 Python
pygame实现俄罗斯方块游戏
Jun 26 Python
Python之循环结构
Jan 15 Python
Python OpenCV之图片缩放的实现(cv2.resize)
Jun 28 Python
如何更优雅地写python代码
Jul 02 Python
简单了解django文件下载方式
Feb 10 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
May 19 Python
Python中的特殊方法以及应用详解
Sep 20 Python
TensorFlow Session会话控制&Variable变量详解
Jul 30 #Python
TensorFlow Session使用的两种方法小结
Jul 30 #Python
教你利用Python玩转histogram直方图的五种方法
Jul 30 #Python
对TensorFlow中的variables_to_restore函数详解
Jul 30 #Python
Python实现模拟浏览器请求及会话保持操作示例
Jul 30 #Python
tensorflow 打印内存中的变量方法
Jul 30 #Python
Python实现的多叉树寻找最短路径算法示例
Jul 30 #Python
You might like
用php守护另一个php进程的例子
2015/02/13 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
dwr spring的集成实现代码
2009/03/22 Javascript
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
jQuery中的常用事件总结
2009/12/27 Javascript
js判断一个元素是否为另一个元素的子元素的代码
2012/03/21 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
2016/05/31 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
element-ui使用导航栏跳转路由的用法详解
2018/08/22 Javascript
浅谈JS的原型和继承
2019/05/08 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
django rest framework vue 实现用户登录详解
2019/07/29 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
python使用列表的最佳方案
2020/08/12 Python
CSS3 实现的加载动画
2020/12/07 HTML / CSS
美国按摩椅批发网站:Titan Chair
2018/12/27 全球购物
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
EJB的基本架构
2016/09/22 面试题
大学生新闻专业个人自我评价
2013/11/12 职场文书
运动会100米解说词
2014/01/23 职场文书
基督教婚礼主持词
2014/03/14 职场文书
行政专员岗位职责说明书
2014/07/30 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
2014年仓库工作总结
2014/11/20 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL