首页 > 编程语言 >python中7种方法实现字符串的拼接

python中7种方法实现字符串的拼接

时间:2024-05-09 16:23:52浏览次数:23  
标签:... python 拼接 Template 字符串 World Hello

1.直接通过(+)操作符拼接

>>> 'Hello' + ' ' + 'World' + '!'
'Hello World!'

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

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

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

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

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

>>> '{} {}!'.format('Hello', 'World')
'Hello World!'

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

4.通过(%)操作符拼接

>>> '%s %s!' % ('Hello', 'World')
'Hello World!'

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

5.通过()多行拼接

>>> (
...     'Hello'
...     ' '
...     'World'
...     '!'
... )
'Hello World!'

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

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

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

7.通过F-strings拼接

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

>>> s1 = 'Hello'
>>> s2 = 'World'
>>> f'{s1} {s2}!'
'Hello World!'

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

#学习中遇到问题没人解答?小编创建了一个Python学习交流群:153708845

>>> def power(x):
...     return x*x
... 
>>> x = 5
>>> f'{x} * {x} = {power(x)}'
'5 * 5 = 25'

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

标签:...,python,拼接,Template,字符串,World,Hello
From: https://www.cnblogs.com/Pythonmiss/p/18182545

相关文章

  • 394. 字符串解码
    给定一个经过编码的字符串,返回它解码后的字符串。编码规则为:k[encoded_string],表示其中方括号内部的encoded_string正好重复k次。注意k保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始......
  • Python高级之装饰器
    【一】装饰器【1】什么是装饰器装饰代指为被装饰对象添加新的功能,器代指器具/工具,装饰器与被装饰的对象均可以是任意可调用对象。装饰器的作用就是在不修改被装饰对象源代码和调用方式的前提下为被装饰对象添加额外的功能【2】装饰器的用途软件包含的所有功能的源代码以及......
  • Python高级之生成器
    【一】什么是生成器Python中的生成器是一种特殊的迭代器可以在需要时生成数据,而不必提前从内存中生成并存储整个数据集通过生成器,可以逐个生成序列中的元素,而无需一次性生成整个序列【二】生成器的创建方式【1】列表推导式#列表生成式生成列表num_list=[iforiinra......
  • Python高级之迭代器
    【一】迭代器介绍迭代器就是迭代取值的工具,而迭代是重复反馈过程的活动其目的通常是为了逼近所需的目标或结果,而每一次迭代得到的结果会作为下一次迭代的初始值#只会重复让你输入信息,并不是迭代过程whileTrue:msg=input("请输入信息:").strip()print(msg)#下......
  • Python高级之【补充】算法
    【一】二分法【1】介绍二分法也称为折半法,是一种在有序数组中查找特定元素的搜索算法【2】思路首先,从数组的中间元素开始搜索,如果该元素正好是目标元素,则搜索过程结束,否则执行下一步如果目标元素大于/小于中间元素,则在数组大于/小于中间元素的那一半区域查找,然后重复步骤......
  • Python高级之常用的内置函数
    【一】什么是内置函数内置函数就是Python给你提供的,拿来直接用的函数目前共有68个内置函数Built-inFunctionsAabs()aiter()all()any()anext()ascii()Bbin()bool()breakpoint()bytearray()bytes()Ccallable()chr()classmethod()compile()complex()Ddelatt......
  • Python高级之模块与包
    【一】模块介绍【1】什么是模块在Python中,一个py文件就是一个模块,文件名为xxx.py模块名则是xxx,导入模块可以引用模块中已经写好的功能使用模块既保证了代码的重用性,又增强了程序的结构性和可维护性另外除了自定义模块外,我们还可以导入使用内置或第三方模块提供的现成功能......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-45-鼠标操作-下篇
    1.简介鼠标为我们使用电脑提供了很多方便,我们看到的东西就可以将鼠标移动过去进行点击就可以打开或者访问内容,当页面内容过长时,我们也可以使用鼠标滚轮来实现对整个页面内容的查看,其实playwright也有鼠标操作的方法。上一篇文章中已经讲解过鼠标的部分操作了,今天宏哥在这里将剩下......
  • Python高级之函数参数进阶Optional
    【一】引言在Python3.5版本后引入的typing模块为Python的静态类型注解提供了支持。这个模块在增强代码可读性和维护性方面提供了帮助。本文将深入探讨typing模块,介绍其基本概念、常用类型注解以及使用示例,以帮助读者更全面地了解和应用静态类型注解。【二】基本类型注解【......
  • Python高级之名称空间和作用域
    【一】名称空间【1】什么是名称空间名称空间就是存放函数名与函数值对应关系的地方内存空间就是申请一块内存空间,然后将函数值放到内存空间里再将变量名和变量值绑定存到名称空间里程序执行期间最多会存在三种名称空间【2】内置名称空间会跟着python解释器的启动而生成,......