python字符串拼接

python字符串拼接Python字符串拼接在Python的实际开发中,很多都需要用到字符串拼接,python中字符串拼接有很多,今天总结一下:用+符号拼接用%符号拼接用join()方法拼接用format()方法

大家好,又见面了,我是你们的朋友全栈君。

Python字符串拼接

Python的实际开发中,很多都需要用到字符串拼接,python中字符串拼接有很多,今天总结一下:

  • +符号拼接
  • %符号拼接
  • join()方法拼接
  • format()方法拼接
  • string模块中的Template对象

如果还有其他方法,欢迎补充。 
例子:

fruit1 = 'apples'
fruit2 = 'bananas'
fruit3 = 'pears'

 

要求: 
输出字符串’There are apples, bananas, pears on the table’

1. 用+符号拼接

+拼接字符串如下: 

1 str = 'There are'+fruit1+','+fruit2+','+fruit3+' on the table' 

该方法效率比较低,不建议使用

2. 用%符号拼接

%符号拼接方法如下: 

1 str = 'There are %s, %s, %s on the table.' % (fruit1,fruit2,fruit3) 

除了用元组的方法,还可以使用字典如下: 

1 str = 'There are %(fruit1)s,%(fruit2)s,%(fruit3)s on the table' % {'fruit1':fruit1,'fruit2':fruit2,'fruit3':fruit3} 

该方法比较通用

3. 用join()方法拼接

join()`方法拼接如下

1 temp = ['There are ',fruit1,',',fruit2,',',fruit3,' on the table']
2 ''.join(temp)

该方法使用与序列操作

4. 用format()方法拼接

format()方法拼接如下:

4. 用format()方法拼接

format()方法拼接如下:

1 str = 'There are {}, {}, {} on the table'
2 str.format(fruit1,fruit2,fruit3)

 

还可以指定参数对应位置:

1 str = 'There are {2}, {1}, {0} on the table'
2 str.format(fruit1,fruit2,fruit3) #fruit1出现在0的位置

 

同样,也可以使用字典:

1 str = 'There are {fruit1}, {fruit2}, {fruit3} on the table'
2 str.format(fruit1=fruit1,fruit2=fruit2,fruit3=fruit3)

5. 用string模块中的Template对象

string模块中的Template对象如下:

1 from string import Template
2 str = Template('There are ${fruit1}, ${fruit2}, ${fruit3} on the table') #此处用的是{},别搞错了哦
3 str.substitute(fruit1=fruit1,fruit2=fruit2,fruit3=fruit3) #如果缺少参数,或报错如果使用safe_substitute()方法不会
4 str.safe_substitute(fruit1=fruit1,fruit2=fruit2) 
5 #输出'There are apples, bananas, ${fruit3} on the table'

 

总结

拼接的方法有多种,不同场合下使用不同的方法,个人比较推荐%format()方法,简单方便。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155949.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Linux 非阻塞connect,错误码:EINPROGRESS「建议收藏」

    Linux 非阻塞connect,错误码:EINPROGRESS「建议收藏」
         当我们以非阻塞的方式来进行连接的时候,返回的结果如果是-1,这并不代表这次连接发生了错误,如果它的返回结果是EINPROGRESS,那么就代表连接还在进行中。后面可以通过poll或者select来判断socket是否可写,如果可以写,说明连接完成了。
     

  • 计算机常用1700英语单词及缩写_计算机必背英语单词

    计算机常用1700英语单词及缩写_计算机必背英语单词 1.filen. 文件;v. 保存文件     2.commandn. 命令,指令     3.usev. 使用,用途     4.programn. 程序     5.linen.(数据,程序)行,线路     6.ifconj. 如果     7.displayvt. 显示,显示器     8.setv. 设置,n…

  • mybatis分页sql语句_MySQL 分页查询

    mybatis分页sql语句_MySQL 分页查询Mybatis可以使用RowBounds进行分页dao层sql的xml文件,因为是java层面的分页,所以sql不需要分页单元测试因为参数是第几个开始,这样很不友好,我们一般情况分页是第几页开始,页大小是多少,所以这就需要我们自己封装一层分页对象packagecom.lingaolu.utils;importorg.apache.ibatis.session.RowBounds;/***@author林高禄*@create.

  • ★ Android基础篇 Android 数据存储与性能

    ★ Android基础篇 Android 数据存储与性能

  • uart 时序_8080接口时序

    uart 时序_8080接口时序数据传送速率用波特率来表示,指单位时间内载波参数变化的次数,或每秒钟传送的二进制位数  如每秒钟传送240个字符,而每个字符包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为2400Bd  传输时序如下图    在UART中,信号线上共有两种状态,分别用逻辑1(高电平)和逻辑0(低电平)来区分  在空闲时,数据线应该保持在逻辑高电平状态  其中…

  • STL容器分类「建议收藏」

    STL容器分类「建议收藏」容器(container)是装有其他对象的对象。容器里面的对象必须是同一类型,该类型必须是可拷贝构造和可赋值的,包括内置的基本数据类型和带有公用拷贝构造函数和赋值操作符的类。典型的容器有队列、链表和向量等。在标准C++中,容器一般用模版类来表示。不过STL不是面向对象的技术,不强调类的层次结构,而是以效率和实用作为追求的目标。所以在STL并没有一个通用的容器类,各种具体的容器也没有统一的基类。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号