Python字符串拼接的4种方法实例
作者:三玹 发布时间:2023-01-30 18:57:15
在程序实际应用中,少不了要进行字符串拼接的操作。下面介绍一下Python语言中四种字符串拼接的方式。
1. 算术运算符拼接
在Python中算术运算符一共有七种种,分别是+、-、*、/、//、**和%。其中+和*不仅可以用来进行算数计算,也可以用来字符串拼接。
(1)+算术运算符
+运算符在Python中可以用作数学计算,例如:
num1 = 1
num2 = 2
print(num1 + num2) # 3
同样也可以用来进行字符串拼接:
s1 = '我是'
s2 = '大帅比'
print(s1 + s2) # 我是大帅比
但是在使用+运算符来进行字符串拼接的时候,只能是字符串和字符串进行拼接,无法和整形(int)、浮点型(float)以及布尔型(bool)进行拼接。
(2) * 算术运算符
当需要输出多个同样字符的时候,可以使用*运算符来偷个小懒,例如:
s1 = '-'
print(s1 * 30)
# ------------------------------
print(s1 * True)
# -
print(s1 * False)
# (虽然没有显示,但实际上有输出一个空字符串)
但是*运算符和+运算符一样,在进行字符串拼接的时候是有限制的,不能和字符串、浮点型(float)进行拼接,其中布尔型的值会默认转化为整型(True为1,False为0)来进行计算拼接。
2、format方法
在Python中,字符串友提供一个format的方法,可以通过在字符串中留空(即一个{}),然后在format方法中按顺序填入相应参数,来实现拼接。
s1 = '小明'
s2 = 18
s3 = 1.75
s4 = True
print('{}今年{}岁了,身高{}米,是个成年的{}男人。'.format(s1, s2, s3, s4))
# 小明今年18岁了,身高1.75米,是个成年的True男人。
在这里,format可以拼接字符串、整型、浮点型以及布尔型的值,这里面布尔型的值会默认转化为字符串类型来进行拼接。
值得注意的是:format中的参数必须是按坑填入,坑只能少,不能比值多;值可以尽量多,但是不能比坑少,否则就会报错。
s1 = '小明'
s2 = 18
s3 = 1.75
s4 = True
print('{}今年{}岁了,身高{}米,是个成年的男人。'.format(s1, s2))
###
IndexError: Replacement index 2 out of range for positional args tuple
3、百分号操作符
Python还可以通过百分号加上一个字母(如%s、%d等等),来实现字符串的拼接。
s1 = 'python'
print('人生苦短,我只用%s'%s1)
# 人生苦短,我只用Python
当然百分号操作符还可以通过百分号加上一个元组来进行多个字符传入:
s1 = '张三'
s2 = 24
s3 = 1.8
s4 = True
print('我叫%s,今年%s岁,是个%s米的大帅比,你觉得我说的%s吗?'%(s1, s2, s3, s4))
# 我叫张三,今年24岁,是个1.8米的大帅比,你觉得我说的True吗?
在这里,%s可以是字符串、整型、浮点型或者布尔型,这些都会被默认转为字符串类型。但如果是其他如%d,则不能跟字符串,其他类型会被转化为整型,浮点型只取整数,布尔型只取1或者0。
常见的格式化符号
格式符号 | 转换 |
---|---|
%s | 通过str()字符串转换来格式化 |
%u | 无符号的十进制整数 |
%d | 有符号的十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数,小写字母 |
%X | 十六进制整数,大写字母 |
%e | 浮点数字(科学计数法) |
%E | 浮点数字(科学计数法,用E代替e) |
%f | 浮点实数 |
%g | 浮点数字(根据值的大小采用%e或%f) |
%G | 浮点数字(类似于%g) |
注意: 和format不一样的是,百分号是有几个坑,就得给他安排几个值,值多或者值少,都会产生报错。
4、特殊符号f
在Python还有一种非常有意思的写法,就是在字符串前面加上特定字母,就可以实现一些功能,如加上r 取消转义符号的效果,加上 f 进行字符串格式化。
s1 = '博士'
s2 = 30
print(f'小红是一个{s1},刚毕业就获得了一个年薪{s2}万的工作。')
# 小红是一个博士,刚毕业就获得了一个年薪30万的工作。
f 和 format 方法有点相似,也是挖坑,但是 f 是现挖现填,相比 format 来说更不容易填错坑。
附:常见字符串去除空格的方法总结
去除字符串开头和结尾的空格,使用strip()方法
a = " a b c "
a.strip()
# 'a b c'
去除字符串开头的空格,lstrip()方法
a = " a b c "
a.lstrip()
# 'a b c '
去除字符串结尾的空格,rstrip()方法
a = " a b c "
a.rstrip()
# ' a b c'
来源:https://blog.csdn.net/jhdddd/article/details/124281653
猜你喜欢
- 最近做的asp.netMVC项目中需要对数据列表进行分类,这个本来就是基于bootstrap开发的后台,因此也就想着bootstrap是否有
- 1、日期大小的比较,传到xml中的日期格式要符合'yyyy-MM-dd',这样才能走索引,如:'yyyy'改
- 一个 MySQL 表可以看作是一个队列,每一行为一个元素。每次查询得到满足某个条件的最前面的一行,并将它从表中删除或者改变它的状态,使得下次
- 原型扩展:>> String.prototype :String对象原型扩展 --------------
- 1. 功能说明,在页面使用smarty循环100次输出,类似for循环100次{section name=total loop=100}{$
- 本文实例讲述了php实现XSS安全过滤的方法。分享给大家供大家参考。具体如下:function remove_xss($val) { &nb
- Python 模块安装一. 打开命令提示符win + R 输入 cmd 点击确定或者win + S 搜索输入 cmd二. 环境变量没有问题的
- 前言为了避免代码泄露的风险,我们往往需要对代码进行加密,PyArmor 是一个用于加密和保护 Python 脚本的工具。它能够在运行时刻保护
- 安装方法一: ①进入python文件夹执行指令(前提是支持pip指令):pip3 install Beautifulsoup4②回
- 本文实例为大家分享了python实现反向迭代的具体代码,供大家参考,具体内容如下案例: &nb
- 1:下载MySql 官网下载地址:https://dev.mysql.com/downloads/mysql/ 选择对应
- 情况1: father.php如下定义: <?php $jack = 1000; ?> children.php 如下定义: &
- 本文实例为大家分享了Python实现感知器模型、两层神经网络,供大家参考,具体内容如下python 3.4 因为使用了 numpy这里我们首
- 内容摘要:一堆数据摆面前,数据背后有什么样的事情在发生,这些数据里面暗藏着什么样的用户需求,什么样的商业机会?看懂这些,将为未来产品设计的方
- 如何制作一个WAP手机的WML网页?代码如下:<%@Language=VBScriptMaxNoAds = 10'
- 今天天气"刚刚好"(薛之谦么么哒),无聊的我翻到了一篇关于csv文件读取与写入的帖子,作为测试小白的我一直对python
- Gzip是什么复制大神们的解释吧:GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们
- 一、hashlib模块什么是哈希模块:hashlib模块是一种加密模块,内部存有多种加密类型加密的作用:可将明文数据进行加密,转换成一串密文
- 复制代码CREATE FUNCTION fGetStrBySplit ( @Source VARCHAR(max), @Index INT,
- 1、可以使用"+"号完成操作输出为:[1, 2, 3, 8, 'google', 'com