可能是最全面的 Python 字符串拼接总结
来源: 枫恋寒 链接:
https://segmentfault.com/a/119000001.png"font-size: 12px;">
在 Python 中字符串连接有多种方式,这里简单做个总结,应该是比较全面的了,方便以后查阅。
加号连接
第一种,通过+号的形式:
a, b = 'hello', ' world'
a + b
'hello world'
逗号连接
第二种,通过,逗号的形式:
a, b = 'hello', ' world'
print(a, b)
hello world
但是,使用,逗号形式要注意一点,就是只能用于print打印,赋值操作会生成元组:
a, b
('hello', ' world')
直接连接
第三种,直接连接中间有无空格均可:
print('hello' ' world')
print('hello''world')
%
第四种,使用%操作符。
在 Python 2.6 以前,% 操作符是唯一一种格式化字符串的方法,它也可以用于连接字符串。
print('%s %s' % ('hello', 'world'))
format
第五种,使用format方法。
format 方法是 Python 2.6 中出现的一种代替 % 操作符的字符串格式化方法,同样可以用来连接字符串。
print('{}{}'.format('hello', ' world')
join
第六种,使用join内置方法。
字符串有一个内置方法join,其参数是一个序列类型,例如数组或者元组等。
print('-'.join(['aa', 'bb', 'cc']))
f-string
第七种,使用f-string方式。
Python 3.6 中引入了 Formatted String Literals(字面量格式化字符串),简称 f-string,f-string 是 % 操作符和 format 方法的进化版,使用 f-string 连接字符串的方法和使用 %操作符、format 方法类似。
aa, bb = 'hello', 'world'
f'{aa} {bb}'
'hello world'
*
第八种,使用*操作符。
aa = 'hello '
aa * 3
'hello hello hello '
小结
连接少量字符串时
推荐使用+号操作符。
如果对性能有较高要求,并且python版本在3.6以上,推荐使用f-string。例如,如下情况f-string可读性比+号要好很多:
a = f'姓名:{name} 年龄:{age} 性别:{gender}'
b = '姓名:' + name + '年龄:' + age + '性别:' + gender
连接大量字符串时
推荐使用 join 和 f-string 方式,选择时依然取决于你使用的 Python 版本以及对可读性的要求。
参考链接
你所不知道的Python | 字符串连接的秘密
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Fundebug录屏插件更新至0.6.0
摘要: 录屏插件的性能进一步优化,传输的数据体积大幅度减少。 录屏功能介绍 Fundebug提供专业的异常监控服务,当线上应用出现 BUG 的时候,我们可以第一时间报警,帮助开发者及时发现 BUG,提高 Debug 效率。在网页端,我们通过原创的录屏技术,可以 100%还原 BUG 出现之前用户的操作流程,帮助开发者快速复现出错场景。演示视频如下:https://static.fundebug.cn/eleme_full.mp4 其实,我们录制的并不是一个真正的视频!算法经过优化,整个“录制”过程 CPU 的使用率非常低。和传统的视频相比,体积小了成百上千倍。Fundebug 插件“录制”的“短视频”,压缩后的体积只有几十 KB。 感兴趣的话,欢迎大家免费试用~ 尊重用户隐私 录屏功能涉及到用户隐私,我们作为第三方服务,也非常重视这一点: Fundebug 默认关闭录屏功能,开发者需要的时候可以自行开启; Fundebug 并不是全程录屏,只会录制 BUG 出现之前 10~20s 的用户操作; Fundebug 提供敏感信息过滤过滤功能,开发者可以过滤掉用户隐私信息; Fundebug...
- 下一篇
Spring Boot与Spring MVC集成启动过程源码分析
开源项目推荐 Pepper Metrics是我与同事开发的一个开源工具(https://github.com/zrbcool/pepper-metrics),其通过收集jedis/mybatis/httpservlet/dubbo/motan的运行性能统计,并暴露成prometheus等主流时序数据库兼容数据,通过grafana展示趋势。其插件化的架构也非常方便使用者扩展并集成其他开源组件。 请大家给个star,同时欢迎大家成为开发者提交PR一起完善项目。 从一个最简单的Spring Boot Web项目聊起 我们知道,用spring-boot写一个web项目非常容易,pom继承spring-boot-parent然后引入依赖spring-boot-starter-web,再写一个这样的主启动类,然后就可以去写Controller了,十分简单,就像这样: @SpringBootApplication public class SampleApplication { public static void main(String[] args) { SpringApplication.ru...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果