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

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



今天才知道原来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基本知识点以及一些处理技巧概览(📌总体大纲=>可自由检索)进行查看

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

  • 39
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python字符串拼接有多方式。以下是其的几常用方式: 1. 使用"+"运算符进行拼接。可以直接使用"+"运算符将多个字符串进行连接。例如,将字符串"a"和字符串"b"进行拼接可以写作 "a" + "b"。这方式简单直接,但在大规模字符串拼接时效率较低。 2. 使用join()方法进行拼接。join()方法字符串的内置方法,可以将一个可迭代对象字符串按照指定的分隔符连接成一个新的字符串。例如,可以使用"分隔符".join(可迭代对象)的方式进行拼接。这方式相比"+"运算符拼接,效率更高。 3. 使用f-string方式进行拼接。f-string是从Python3.6版本引入的一字符串插值方式。它的特点是在字符串前加"f"标识,然后在大括号{}插入要插入的变量。例如,可以使用f"字符串{变量}"的方式进行拼接。f-string方式不仅简洁方便,而且支持在大括号进行表达式计算。 这些是Python常用的字符串拼接方式,根据具体的需求和场景,选择合适的方式进行字符串拼接可以提高代码的效率和可读性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python拼接字符串的7方法总结](https://blog.csdn.net/qdPython/article/details/105163941)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [8Python字符串拼接方法,你知道几?](https://blog.csdn.net/qdPython/article/details/120907334)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值