文档章节

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

木头释然
 木头释然
发布于 07/23 11:21
字数 713
阅读 3243
收藏 75

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()这两种格式化方法都快得多。



 

© 著作权归作者所有

共有 人打赏支持
木头释然
粉丝 17
博文 9
码字总数 5035
作品 0
西青
其他
私信 提问
加载中

评论(6)

yuzhouliu
yuzhouliu
我想起了鲁迅写的,孔乙己问:你知道回字有几种写法吗?
拾光TM
拾光TM
第六七条没用过,哪天试试看,总结的不错
Carvendy
Carvendy
感谢总结
逸儿
喜欢 收藏
clouddyy
clouddyy
收藏
lemonwater
lemonwater
总结的很好,收藏了
Python拼接字符串的7种方法

1、直接通过+操作: s = 'Python'+','+'你好'+'!' print(s) 打印结果: Python,你好! 2、通过join()方法拼接: 将列表转换成字符串 strlist=['Python', ',', '你好', '!'] print(''.j...

此生不换Yang
08/18
0
0
Python 中字符串拼接的 N 种方法

原文出处:oschina. python拼接字符串一般有以下几种方法: ①直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!'print(s) 输出结果:Hello World! 使用这种方式进行字符串连接的操作效率...

oschina.
09/03
0
0
如何使用tensorflow做张量排序和字符串拼接?

欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定! 对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴...

天善智能
07/17
0
0
30个Python程序员需要知道的编程技巧,可以让你的工作事半功倍!

1.直接交换2个数字的位置 Python 提供了一种直观的方式在一行代码中赋值和交换(变量值)。如下所示: 在上面代码中,赋值的右侧形成了一个新元组,而左侧则立刻将该(未被引用的)元组解包到...

糖宝lsh
10/01
0
0
第一个Hello World 程序

1.1.3 Hello World 程序 >>> print("Hello world!") Hello Python interpreter! 安装文本编辑器 Geany是一款简单的文本编辑器:它易于安装;让你能够直接运行几乎所有的程序(而无需 通过终端...

平步清云
07/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

python中sort和sorted函数小结

L.sort(cmp=None, key=None, reverse=False) sorted(iterable, cmp=None, key=None, reverse=False) 这样看,sorted函数只比sort函数多一个iterable参数,其余没什么不同,iterable是一个迭代......

上官夏洛特
29分钟前
1
0
thinkphp 常用SQL执行语句总结

第一条:Db::tablera('vr_panomas')->where(['delete_time'=>0,'id'=>['in',$pids]])->field(['id'=>'id','post_thumb'=>'thumb','post_title'=>'title','post_tags'=>'tags','post_price'=>......

koothon
38分钟前
1
0
支付宝返回状态resultStatus意思

上一篇集成支付宝的时候,会有一些支付宝返回的resultStatus,具体意思是: 9000 订单支付成功 8000 正在处理中 4000 订单支付失败 6001 用户中途取消 6002 网络连接出错 还有memo,意思就是...

RainOrz
43分钟前
1
0
electron webview 页面加载事件顺序

1.did-start-loading 页面开始加载 2.load-commit 主页面文档加载 3.page-title-updated title 4.dom-ready 主页面 dom 加载完成 5.load-commit frame文档加载 6.did-frame-finish-load fram......

dubox
47分钟前
1
0
cron语法格式

Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Seconds Minutes Hours DayofMonth Month DayofWeek...

JavaSon712
48分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部