Python字符串拼接的4种方法实例

 更新时间:2022年07月21日 12:36:29   作者:三玹  
字符串是所有编程语言中都有的基本变量的类型 ,程序员基本每天都在和字符串打交道,下面这篇文章主要给大家介绍了关于Python字符串拼接的4种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

在程序实际应用中,少不了要进行字符串拼接的操作。下面介绍一下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'

总结

Python中实现对字符串拼接的四种方法:

(1)通过 + 或者 * 运算符来实现拼接。

(2)通过 format 方法来进行格式化填空,但是空可以少,值不能少,要确保每个空都会有一个对应的值。

(3)通过百分号来进行字符串格式化拼接,和 format 不一样的是,百分号是有几个空,就填几个值,值不能多,也不能少。

(4)通过特殊符号 f 进行字符串格式化拼接,和百分号方法一样,有几个空就填几个值,空里面不能没有值。

到此这篇关于Python字符串拼接的4种方法的文章就介绍到这了,更多相关Python字符串拼接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 调试Python程序代码的几种方法总结

    调试Python程序代码的几种方法总结

    这篇文章主要介绍了调试Python程序代码的几种方法总结,文中代码基于Python2.x版本,需要的朋友可以参考下
    2015-04-04
  • python tkinter 做个简单的计算器的方法

    python tkinter 做个简单的计算器的方法

    这篇文章主要介绍了python tkinter 做个简单的计算器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • python 数据挖掘算法的过程详解

    python 数据挖掘算法的过程详解

    这篇文章主要介绍了python 数据挖掘算法,首先给大家介绍了数据挖掘的过程,基于sklearn主要的算法模型讲解,给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • 使用Pytorch训练two-head网络的操作

    使用Pytorch训练two-head网络的操作

    这篇文章主要介绍了使用Pytorch训练two-head网络的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python图像处理之图像拼接

    Python图像处理之图像拼接

    这篇文章主要介绍了Python图像处理之图像拼接,文中有非常详细的代码示例,对正在学习python图像处理的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • Python 文件和输入输出小结

    Python 文件和输入输出小结

    Python 是面向对象编程语言,文件也是一种类,下面简单介绍下,方便需要的朋友
    2013-10-10
  • Ubuntu安装Jupyter Notebook教程

    Ubuntu安装Jupyter Notebook教程

    这篇文章主要为大家详细介绍了Ubuntu安装Jupyter Notebook教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • pandas如何筛选某个列值是否位于某个列表内

    pandas如何筛选某个列值是否位于某个列表内

    这篇文章主要介绍了pandas如何筛选某个列值是否位于某个列表内问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • win10下python3.8的PIL库安装过程

    win10下python3.8的PIL库安装过程

    这篇文章主要介绍了win10下python3.8的PIL库安装方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • python实现中文分词FMM算法实例

    python实现中文分词FMM算法实例

    这篇文章主要介绍了python实现中文分词FMM算法,实例分析了Python基于FMM算法进行中文分词的实现方法,涉及Python针对文件、字符串及正则匹配操作的相关技巧,需要的朋友可以参考下
    2015-07-07

最新评论