Python中10种字符串拼接方法全面总结

Python 中10种拼接字符串方法总结🎉🎉🎉


目录

  • Python 中10种拼接字符串方法总结🎉🎉🎉
  • 1. 加号连接
  • 2. 逗号连接
  • 3. 使用 % 占位符
  • 4. 使用 format() 方法
  • 5 .f-string方式
  • 6.使用 * 操作符
  • 7. join函数
  • 8.多行字符串自动拼接
  • 9.通过 string 模块中的Template对象拼接
  • 10.通过 os 模块里面 os.path.join函数
  • 最后 ✨✨✨

  • 今天才知道原来python里面拼接字符串有这么多方式,孤陋寡闻了😭😭😭
    在这里记录一下,方便查阅
    话不多说,我们上代码!!!


    1. 加号连接

    str1, str2 = 'xiao', 'bai'
    str3 = str1 + ' ' + str2
    print(str3)     # xiao bai
    

    2. 逗号连接

    注意:
    1.在用逗号拼接时,会自动加入 空格
    2.仅能用于 输出,因为这里类型变为了 元组(tuple), 有局限性

    str1, str2 = 'xiao', 'bai'
    print(str1, str2)    # xiao bai
    print(type((str1, str2)))      # <class 'tuple'>
    

    3. 使用 % 占位符

    类似 C 语言 语法,
    Python 2.6 以前,% 操作符是唯一一种格式化字符串的方法,它也可以用于连接字符串。
    这里再额外拓展一下字符串和其他类型变量拼接

    str1, str2 = 'xiao', 'bai'
    # 直接输出
    print('%s %s' % (str1, str2))   # xiao bai
    num = 10
    print('%s %s %d' % (str1, str2, num))   # xiao bai 10
    
    # 赋值
    str3 = 'xiao %s' % str2
    print(str3)     # xiao bai
    str4 = '%s %s' % (str1, str2)
    print(str4)     # xiao bai
    

    4. 使用 format() 方法

    Python 2.6 中出现的一种代替 % 操作符的字符串格式化方法,同样可以用来连接字符串。

    str1, str2 = 'xiao', 'bai'
    print('{} {}'.format(str1, str2))   # xiao bai
    # format() 方法输出还可以指定顺序
    print('{1} {0}'.format(str1, str2))   # bai xiao
    

    5 .f-string方式

    Python 3.6 中引入, 是 %操作符 和 format() 方法的进化版

    str1, str2 = 'xiao', 'bai'
    str3 = f"{str1} {str2}"     # xiao bai
    

    6.使用 * 操作符

    通过乘法进行拼接,有 局限性

    str1 = 'xiao'
    str2 = str1 * 3     # xiaoxiaoxiao
    print(str2)
    

    7. join函数

    将包含多个字符串的可迭代对象(字符串、元组、列表),转为用分隔符sep连接的字符串, 功能强大
    但是不适用于拼接两个字符串

  • 字符串
  • 列表
  • 元组
  • 字典
  • str1, str2 = 'xiao', 'bai'
    
    # 字符串
    str0 = '*'.join(str2)   # b*a*i
    
    # 列表
    lst = ['xiao', 'bai']
    str3 = ' '.join(lst)    # xiao bai
    
    # 元组
    lst2 = ('xiao', 'bai')
    str4 = ' '.join(lst2)   # xiao bai
    
    # 字典
    dic = {1: 'xiao', 2: 'bai'}
    str5 = ' '.join(str(dic.keys()))    # d i c t _ k e y s ( [ 1 ,   2 ] )
    str6 = ' '.join(str(dic.values()))  # d i c t _ v a l u e s ( [ ' x i a o ' ,   ' b a i ' ] )
    str7 = ' '.join(str(dic.items()))   # d i c t _ i t e m s ( [ ( 1 ,   ' x i a o ' ) ,   ( 2 ,   ' b a i ' ) ] )
    
    dic = {'1': 'xiao', '2': 'bai'}
    str8 = ' '.join(dic.keys())     # 1 2
    str9 = ' '.join(dic.values())   # xiao bai
    # 注意不能这样打印全部字典
    str10 = ' '.join(dic.items())   # TypeError: sequence item 0: expected str instance, tuple found
    
    

    8.多行字符串自动拼接

    但是不适用于变量的拼接,可以在字符串过多时使用

    str1 = 'xiao'\
        'bai'\
        'mao'
    print(str1)     # xiaobaimao
    
    str2 = ('xiao'
            'bai'
            'mao')
    print(str2)         # xiaobaimao
    print(type(str2))   # <class 'str'>
    

    9.通过 string 模块中的Template对象拼接

    Template的实现方式是首先通过Template初始化一个字符串对象str1,在创建对象str1时,在字符串中使用 ${变量名} 的方式来给拼接内容占位。
    也可以省略 {},直接 $ 变量名,只是没有 {} 时变量名后面一定要有空格,且可读性不如有 {} 的好。
    通过调用t对象的substitutesafe_subsititute方法,将拼接内容通过关键字参数的方式依次传递进去,实现在指定的位置拼接字符串。
    这种方法与上面的format()方法一样,不管传入的拼接内容是什么数据类型,统统都可以拼接。

    from string import Template
    
    str1 = Template("Hello, " '${s1} ${s2}')
    str_end = str1.substitute(s1='xiao', s2='bai')  # Hello, xiao bai
    print(str_end)
    

    10.通过 os 模块里面 os.path.join函数

    这个方法并不是专门拼接字符串而是拼接路径的,了解即可

    import os
    
    str1 = os.path.join('xiao', 'bai')      # xiao\bai
    

    错了,现在我们正确的打开 os 模块

    os.path.join函数将多个路径组合后返回,使用语法为:
    os.join.path(path1 [,path2 [,…] ] )


    最后 ✨✨✨

    想要了解 Python中字符串的其他操作有哪些,可移步Zero-py系列:字符串处理概览
    🌈Zero-Py系列(Python基础知识部分)创建是想要对Python基础语法进行一个全面的总结,便于大家系统的查找相关知识点和一些技巧,由于想要尽量全面展示知识点,所以分为几个模块来阐述

    如果想要对总体知识进行检索,可以跳转链接: Python基本知识点以及一些处理技巧概览(📌总体大纲=>可自由检索)进行查看

    如果有什么不足或者疑问,欢迎留言讨论🥰🥰🥰

    作者:Exclusive-zero.0

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python中10种字符串拼接方法全面总结

    发表回复