Python中必备的字符串拼接方法,你知道多少?
admin
2023-07-18 13:02:16
0

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


相关内容

热门资讯

移瑞通信申请设备管理方法专利,... 国家知识产权局信息显示,合肥移瑞通信技术有限公司申请一项名为“设备管理方法、装置、存储介质以及计算机...
400多项成果!科创项目精准对... 6月10日至11日,“科创天府·智汇蓉城”“校企双进·找矿挖宝”科技成果对接深圳站活动举行。本次活动...
美伊协议何时签署:特朗普说14... 当地时间13日,美国总统特朗普在社交媒体发文说,美国和伊朗定于14日签署协议,霍尔木兹海峡将在协议签...
原创 点... 今天一款小米新机入网,型号为23116PN5BC。正当外界猜测这又是哪款小米新机来袭,毕竟入网距离发...
MIT团队借核反应堆冷却术,用... 来源:市场资讯 (来源:DeepTech深科技) 到本世纪末,美国数据中心的电力消耗预计将占全美总...
超微半导体设备申请晶圆位置自动... 国家知识产权局信息显示,超微半导体设备(上海)有限公司申请一项名为“一种晶圆位置的自动校准方法和装置...
AI时代的“灵感涌现”,202... 近年,生成式AI技术为创意设计行业带来深刻变革,包括美图在内的一批公司也参与其中。6月13日,美图再...
山东友皓取得一种捻线设备专利,... 国家知识产权局信息显示,山东友皓智能装备有限公司取得一项名为“一种捻线设备”的专利,授权公告号CN2...
AI时代 以技术创新守护网络安... 日前,2026全球数字经济大会数字安全论坛暨第八届北京网络安全大会(BCS 2026)在北京国家会议...
2026长三角机器人及自动化展... 6月11日,2026长三角机器人及自动化展览会暨无锡具身智能机器人产业链伙伴大会举行。市委书记杜小刚...