最全面的 python 字符串拼接总结(带注释版)
在 Python 中字符串连接有多种方式,这里简单做个总结,应该是比较全面的了,方便以后查阅。
加号连接
第一种,通过+号的形式:
>>> a, b = 'hello', ' world'
>>> a + b
'hello world'
逗号连接
第二种,通过,逗号的形式:
>>> a, b = 'hello', ' world'
>>> print(a, b)
hello world
但是,使用,逗号形式要注意一点,就是只能用于print打印,赋值操作会生成元组:
>>> a, b
('hello', ' world')
注:实际上,这不算是字符串连接的一种方式,因为'hello', ' world'会当作一个元组存在,通过解包(unpacking)的方式赋值给变量 a 和 b.
直接连接
第三种,直接连接中间有无空格均可:
print('hello' 'world')
print('hello''world')
注:这算是Python里面的一种语法糖,连续的字符串会自动拼接成一个字符串。在内存中不会存在两个字符串对象。
百分号 %
第四种,使用%操作符。
在 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')))#aa-bb-cc
print('-'.join(['aa', 'bb', 'cc']))#aa-bb-cc
f-string
第七种,使用f-string方式。
Python 3.6 中引入了 Formatted String Literals(字面量格式化字符串),简称 f-string,f-string 是 % 操作符和 format 方法的进化版,使用 f-string 连接字符串的方法和使用 %操作符、format 方法类似。
aa, bb = '王', '璞'
print(f'我喜欢过的{aa}瑞{bb}')#我喜欢过的王瑞璞
星号 *
第八种,使用*操作符。
>>> aa = 'hello '
>>> aa * 3
'hello hello hello '
注:*操作符其实是一种操作符重载操作,对应的魔术方法是 __mul__
>>> a = [1]
>>> a*2
[1, 1]
>>> a.__mul__(3)
[1, 1, 1]
小结
连接少量字符串时,推荐使用+号操作符。
如果对性能有较高要求,并且python版本在3.6以上,推荐使用f-string。例如,如下情况f-string可读性比+号要好很多:
a = f'姓名:{name} 年龄:{age} 性别:{gender}'
b = '姓名:' + name + '年龄:' + age + '性别:' + gender
连接大量字符串时,推荐使用 join 和 f-string 方式,选择时依然取决于你使用的 Python 版本以及对可读性的要求。
Python之禅注:笔者曾经做过一个测试,python3.6中,数据量不大的情况下 +操作甚至比join操作还快。
最全面的 python 字符串拼接总结(带注释版)的更多相关文章
- 可能是最全面的 Python 字符串拼接总结
来源: 枫恋寒 链接: https://segmentfault.com/a/119000001.png"font-size: 12px;"> 在 Python 中字符串连接 ...
- Python字符串拼接、格式化输出、深浅复制
1.Python字符串拼接:方法挺多.挺好用的.灵活使用可使代码简洁.可读性好. #1.用4种方法,将列表li = ['I','python','like'], #里面的单词拼成: I**like** ...
- python字符串拼接
Python字符串拼接 在Python的实际开发中,很多都需要用到字符串拼接,python中字符串拼接有很多,今天总结一下: 用+符号拼接 用%符号拼接 用join()方法拼接 用format()方法 ...
- python—字符串拼接三种方法
python—字符串拼接三种方法 1.使用加号(+)号进行拼接 字符串拼接直接进行相加就可以,比较容易理解,但是一定要记得,变量直接相加,不是变量就要用引号引起来,不然会出错,另外数字是要转换为字 ...
- Python 字符串拼接、格式化输出、深浅复制
拼接:"+"号(同类型可拼接) >>>li = [1,2] >>>li + li [1,2,1,2] >>>li*2 [1,2 ...
- Python字符串拼接的6种方法(转)
add by zhj: 对于多行字符串连接,第6种连接方法很方便,连接时不会添加额外的空格. 原文:http://www.cnblogs.com/bigtreei/p/7892113.html 1. ...
- Python字符串拼接的6种方法
如有其他字符串拼接方法 欢迎留言提出哦 (示例版本为Py2) 1. 加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接用 “+” 来连接两个字符串 ...
- 关于python字符串拼接的几种方法
当时看完python的基本语法后 给朋友写了个美元概率换算 写完后拼接结果时候 发现压根不知道python怎么拼接字符串 看了些资料自己做了个总结 首先就是和JavaScript一样的拼接方式 nam ...
- Python 字符串拼接 sql ,造成 sql 注入例子
简单的 userinfo 表 字符串拼接 sql import pymysql # 测试环境的数据库连接 conn = pymysql.connect(host='192.168.0.214', po ...
随机推荐
- [WebMethod]的使用,ajax调用[WebMethod]的使用,webservice(web服务) asmx的使用,ajax调用[WebMethod]进行json传输
首先,要分为.net 2.0和.net 3.5这两种情况来考虑 一:.net 2.0情况下 ajax可以调用 aspx.cs 里面加了 [webmethod]的静态方法,而不能调用 asmx 里面加了 ...
- nodebrew的安装与使用
创建: 2019/05/10 安装 brew install nodebrew 初始化 nodebrew setup ~/.bash_profile 里添加 export PATH=/usr/loc ...
- Keras实现CIFAR-10分类
仅仅为了学习Keras的使用,使用一个四层的全连接网络对MNIST数据集进行分类,网络模型各层结点数为:3072: : 1024 : 512:10: 使用50000张图片进行训练,10000张 ...
- SAP中对于获取订单的状态
在SAP中对于如何获取订单的状态,提供了至少两个函数,分别是 STATUS_READ 和 STATUS_TEXT_EDIT.下面简单介绍这两个函数 1.STATUS_READ 改函数的实现原理大 ...
- 笔记-迎难而上之Java基础进阶2
Set集合 import java.util.*; public class HashSetDemo{ public static void main(String[] args){ //Set接口的 ...
- EF升级 反射重载方法ApplyConfiguration
protected override void OnModelCreating(ModelBuilder builder) { base.OnModelCreating(builder); //var ...
- 搭建yum源
五.保留缓存rpm包, 修改配置文件,将最新的rpm包下载到本地并保存. 3) 使用yum命令安装httpd软件包 六.制作yum仓库 1) 自定义yum仓库:createrepo 安 ...
- node.js安装与配置
node.js是一个基于Chrome V8引擎的javascrit运行环境. node.js使用了一个事件驱动.非阻塞式I/O的模型,使其轻量又高级. node.js的包管理器npm,是全球最大的开源 ...
- Qt5.7中使用MySQL Driver(需要把libmysql.dll文件拷贝到Qt的bin目录中。或者自己编译的时候,链接静态库)
Qt5.7中使用MySQL Driver 1.使用环境 Qt5.7的安装安装就已经带了MySQL Driver,只需要在安装的时候选择一下即可.如果没有安装,可以采取自己编译的方式.在Qt的源码包的q ...
- 线程池ThreadPoolExecutor的学习
我们知道,ExecutorService是一个抽象出线程池的一个接口,然后我们在使用线程池的时候,用的是Executors工具类中的一系列newCachedThreadPool() 等类似的方法,这些 ...