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 ip正则式
May 07 Python
python多线程http下载实现示例
Dec 30 Python
在Python中操作时间之strptime()方法的使用
Dec 30 Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
Python异常处理操作实例详解
Aug 28 Python
django session完成状态保持的方法
Nov 27 Python
Python处理时间日期坐标轴过程详解
Jun 25 Python
pycharm new project变成灰色的解决方法
Jun 27 Python
python读写csv文件方法详细总结
Jul 05 Python
详解pyinstaller selenium python3 chrome打包问题
Oct 18 Python
Python while循环使用else语句代码实例
Feb 07 Python
appium+python自动化配置(adk、jdk、node.js)
Nov 17 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 更新数据库中断的解决方法
2009/06/05 PHP
zf框架的Filter过滤器使用示例
2014/03/13 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
2014/12/15 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
JavaScript经典效果集锦
2010/07/06 Javascript
浅析JavaScript中的类型和对象
2013/11/29 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
Python理解递归的方法总结
2019/01/28 Python
在Python中画图(基于Jupyter notebook的魔法函数)
2019/10/28 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
python开发入门——set的使用
2020/09/03 Python
用python进行视频剪辑
2020/11/02 Python
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
次世代生活态度:Hypebeast
2018/07/05 全球购物
附答案的Java面试题
2012/11/19 面试题
我爱读书演讲稿
2014/05/07 职场文书
数据保密承诺书
2014/06/03 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
临时用工协议书范本
2014/10/29 职场文书
教师考核鉴定意见
2015/06/05 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js
Python查找算法的实现 (线性、二分,分块、插值查找算法)
2022/04/24 Python