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 相关文章推荐
python3.4.3下逐行读入txt文本并去重的方法
Apr 29 Python
Django-Rest-Framework 权限管理源码浅析(小结)
Nov 12 Python
python使用udp实现聊天器功能
Dec 10 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
Jun 04 Python
python pandas获取csv指定行 列的操作方法
Jul 12 Python
Python使用random模块生成随机数操作实例详解
Sep 17 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 Python
python的scipy实现插值的示例代码
Nov 12 Python
详解Python的三种拷贝方式
Feb 11 Python
基于Numba提高python运行效率过程解析
Mar 02 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
Jul 07 Python
如何理解python接口自动化之logging日志模块
Jun 15 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中理解print EOT分界符和echo EOT的用法区别小结
2010/02/21 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
php简单中奖算法(实例)
2017/08/15 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
json中换行符的处理方法示例介绍
2014/06/10 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
js自定义回调函数
2015/12/13 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
2016/01/22 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
JS正则表达式判断有效数实例代码
2017/03/13 Javascript
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
2017/06/01 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
vue切换菜单取消未完成接口请求的案例
2020/11/13 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
简单介绍Ruby中的CGI编程
2015/04/10 Python
Python与Redis的连接教程
2015/04/22 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
Python socket实现简单聊天室
2018/04/01 Python
详解python播放音频的三种方法
2019/09/23 Python
如何基于python操作json文件获取内容
2019/12/24 Python
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
法国家具及室内配件店:home24
2017/01/21 全球购物
英国家庭、花园、汽车和移动解决方案:Easylife Group
2018/05/23 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
乡镇纠风工作实施方案
2014/03/22 职场文书
团员年度个人总结
2015/02/26 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书