Python字符串完全指南:从基础到进阶

Python列表转字符串:从基础到进阶的完整指南 场景推荐方法示例字符串列表直接join数字列表map转换需要过滤生成器+条件内存敏感生成器表达式含特殊字符csv模块黄金法则:优先使用join()+元素转换,避免手动循环拼接。代码简洁性(1行解决)执行高效性(O(n)时间复杂度)可读性强(明确表达意图)通过掌握这些技巧,你能优雅处理各种列表到字符串的转换需求,写出更Pythonic的代码! 阅读详情

Python字符串完全指南:从基础到进阶

📝 一文搞懂Python字符串的声明、索引切片、常用操作,附赠实战案例!


📌 目录

  • 一、字符串基础

  • 二、索引与切片

  • 三、字符串常用操作

  • 四、实战案例


一、字符串基础

1. 字符串的声明方式

Python支持四种字符串声明方式:

python

# 单引号
s1 = 'hello world'

# 双引号
s2 = "hello world"

# 三引号(可换行)
s3 = """hello world"""
s4 = '''
    hello
    world
'''
print(s4)  # 保留换行和缩进

2. 转义字符

转义字符说明示例
\'单引号'it\'s'
\"双引号"say \"hi\""
\n换行"a\nb"
\t制表符"a\tb"
\\反斜杠"C:\\Users"
r""原始字符串r"C:\Users"

python

# 转义示例
print("hello\nworld")          # 换行
print("C:\\Program Files")     # 反斜杠
print(r"C:\Users\Admin")       # 原始字符串,\不转义

3. 字符串格式化

三种常用格式化方式:

python

name = "qiku"
age = 1
addr = "东三街"

# 方式1:f-string(推荐)
print(f"名字叫{name},年纪是{age},地址是{addr}")

# 方式2:%格式化
print("名字叫%s,年纪是%s,地址是%s" % (name, age, addr))

# 方式3:format方法
print("名字叫{},年纪是{},地址是{}".format(name, age, addr))

二、索引与切片

1. 索引(正索引和负索引)

python

msg = "中华人民共和国河南省"
print(len(msg))          # 10

# 正索引:从0开始
print(msg[0])            # 中
print(msg[9])            # 省

# 负索引:从-1开始
print(msg[-1])           # 省
print(msg[-10])          # 中

2. 遍历字符串

python

msg = "中华人民共和国河南省"

# 方式1:直接遍历字符
for e in msg:
    print(e)

# 方式2:通过索引遍历
for i in range(len(msg)):
    print(i, msg[i])

3. 切片操作

切片语法:[start:stop:step]

  • start:开始索引(包含)

  • stop:结束索引(不包含)

  • step:步长(默认为1)

python

msg = "中华人民共和国河南省"

print(msg[7:])          # 河南省(从索引7到末尾)
print(msg[:7])          # 中华人民共(从开头到索引6)
print(msg[2:7])         # 人民共和国(索引2到6)
print(msg[2:7:2])       # 人共国(步长为2)
print(msg[::-1])        # 省南河国共和人华中(反转)
print(msg[-3:-1])       # 河南(负索引切片)

4. 实战:判断对称字符串

python

s = "12345421"

for i in range(len(s) // 2):
    if s[i] != s[len(s) - 1 - i]:
        print(f"字符{s[i]}与字符{s[len(s) - 1 - i]}不一致")
        break
else:
    print("是对称字符串")

三、字符串常用操作

1. 查找类方法

方法说明示例
index(sub)返回索引,找不到报错"hello".index("l") → 2
rindex(sub)从右侧查找索引"hello".rindex("l") → 3
find(sub)返回索引,找不到返回-1"hello".find("x") → -1
rfind(sub)从右侧查找,找不到返回-1"hello".rfind("l") → 3
count(sub)统计子串出现次数"hello".count("l") → 2

python

s = "hello world"

print(s.index("llo"))        # 2
print(s.rindex("l"))         # 9(从右数第一个l的位置)
print(s.find("llo"))         # 2
print(s.find("xxx"))         # -1
print(s.count("l"))          # 3

2. 大小写转换

python

s = "heLlo WorlD"

print(s.lower())        # hello world(全部小写)
print(s.upper())        # HELLO WORLD(全部大写)
print(s.title())        # Hello World(单词首字母大写)
print(s.capitalize())   # Hello world(首字母大写)
print(s.swapcase())     # HElLO wORLd(大小写互换)

3. 对齐方法

python

s = "hello"

print(s.center(20, "*"))   # *******hello********(居中)
print(s.ljust(20, "*"))    # hello***************(左对齐)
print(s.rjust(20, "*"))    # ***************hello(右对齐)
print(s.zfill(20))         # 000000000000000hello(右侧填0)

4. 判断开头/结尾

python

s = "  hello world  "

print(s.startswith(" "))   # True
print(s.endswith(" "))     # True

5. 剔除指定字符

python

s = "+++hello world+++"

print(s.strip("+"))        # hello world(去除两端+)
print(s.lstrip("+"))       # hello world+++(去除左侧+)
print(s.rstrip("+"))       # +++hello world(去除右侧+)
print("  hello  ".strip()) # hello(默认去除空格)

6. 切割与拼接

python

# 拼接
print("++".join("hello"))        # h++e++l++l++o
print(" ".join(["hello","world"]))  # hello world

# 切割
print("hello world".split())     # ['hello', 'world'](默认空格)
print("hello world".split('l'))  # ['he', '', 'o wor', 'd']

# 替换
print("hello hello".replace("hello", "hi"))    # hi hi
print("hello hello".replace("hello", "hi", 1)) # hi hello(只替换1次)

7. 编码与解码

python

# 编码:字符串 → 字节
text = "hello 中国"
print(text.encode("utf-8"))   # b'hello \xe4\xb8\xad\xe5\x9b\xbd'
print(text.encode("gbk"))     # b'hello \xd6\xd0\xb9\xfa'

# 解码:字节 → 字符串
byte_data = b'hello \xe4\xb8\xad\xe5\x9b\xbd'
print(byte_data.decode("utf-8"))  # hello 中国

8. 类型判断

python

print("abc".isalpha())      # True(全是字母)
print("123".isdigit())      # True(全是数字)
print("abc123".isalnum())   # True(字母或数字)
print("Abc".islower())      # False(是否全小写)
print("ABC".isupper())      # True(是否全大写)
print("Hello World".istitle())  # True(是否每个单词首字母大写)

四、实战案例

案例1:清理用户输入

python

# 去除首尾空格、统一大小写
user_input = "  HeLLo WorlD  "
clean = user_input.strip().lower()
print(clean)  # hello world

案例2:敏感词过滤

python

text = "你是个笨蛋,真是个傻瓜"
bad_words = ["笨蛋", "傻瓜"]

for word in bad_words:
    text = text.replace(word, "***")
print(text)  # 你是个***,真是个***

案例3:提取文件信息

python

filename = "2026-07-15_报告.pdf"

# 提取文件名和扩展名
name = filename.split(".")[0]    # 2026-07-15_报告
ext = filename.split(".")[1]     # pdf

# 提取日期
date = name.split("_")[0]        # 2026-07-15
print(f"日期:{date},文件类型:{ext}")

📊 快速速查表

字符串常用方法分类

分类方法
查找index(), rindex(), find(), rfind(), count()
大小写lower(), upper(), title(), capitalize(), swapcase()
对齐center(), ljust(), rjust(), zfill()
判断startswith(), endswith(), isalpha(), isdigit(), isalnum()
清理strip(), lstrip(), rstrip()
切割/拼接/替换split(), join(), replace()
编码/解码encode(), decode()

💡 小贴士:字符串是不可变类型,所有方法都返回新字符串,不会修改原字符串!


如果觉得有用,欢迎点赞收藏! ⭐ 更多Python干货持续更新中~ 🚀

Python语法与使用完全指南 Python是一种高级、解释型、通用型编程语言,由Guido van Rossum于1991年首次发布。Python强调代码的可读性和简洁性,使用缩进来划分代码块,而不是像许多其他编程语言那样使用大括号或关键字。# 定义函数"""这是文档字符串,用于描述函数功能。"""# 调用函数# 默认参数# 关键字参数# 可变参数(*args)total = 0# 关键字可变参数(**kwargs)# 输出:# age: 25可以创建自定义异常类来表示特定类型的错误。# 自定义异常类。 阅读详情

相关推荐

Python处理JSON数据的最佳实践:从基础到进阶的实用指南

90%的常规JSON处理场景高性能需求的大数据场景安全敏感的外部数据交互记住:JSON处理的核心是理解数据映射关系,关键在于预判边界情况。建议从标准库入手,在性能或复杂度要求提升时,再引入第三方工具库。实际开发中,结合单元测试覆盖各种数据边界情况,能避免90%的潜在问题。

这家伙很懒,什么都没有留下 809

Python数据类型--字符串(string)

Python中的字符串可以使用单引号、双引号和三引号(三个单引号或三个双引号)括起来str = ' 'str4 = """helloworld"""三引号定义法与多行注释写法一样,同样支持换行操作。使用变量接收它,它就是字符串不使用变量接收它,就可以作为多行注释使用。

2301_81059527的博客 1万+

群晖NAS断电后IP变了?3步搞定静态IP设置(附Linux挂载指南)

本文针对群晖NAS因断电重启导致IP地址变化的问题,提供了从根源到实践的完整解决方案。核心内容包括如何为NAS配置静态IP以彻底解决连接中断,并详细讲解了在Linux系统中通过NFS协议稳定挂载NAS共享文件夹的步骤与指南,确保网络存储服务持久可靠。

weixin_29271263的博客 858

c语言getchar用法_C语言:整理——putchar()用法

学了一个学期C语言,对getchar和putchar的用法还是有点懵。为此做了如下整理。整理完了之后真的是恍然大悟了哈哈哈。首先要明确:1、putchar就是用来输出(显示到屏幕的)的。2、putchar 的适用对象是字符数据。(从putchar名字末尾的 char 也可以看出。)3、一个putchar只能输出一个字符。4、头文件:<stdio.h>重点:用法:putchar函数的基本...

weixin_40003451的博客 918

Procedural modeling

What is procedural modeling? One content generation option is modeling buildings, plants, clouds, cities, and worlds using an underlying system of rules. 1 Procedural Modeling: Grammars A rule-based generative system loosely organized as: ...

qq_24505417的博客 712

LabVIEW状态机实战:用STM32+DHT11搭建温湿度监测系统(附完整VI源码)

本文详细介绍了如何利用LabVIEW状态机模式与STM32微控制器、DHT11温湿度传感器构建温湿度监测系统。通过硬件选型、状态机设计、LabVIEW程序实现及系统优化等环节,提供了一套完整的解决方案,并附有VI源码,助力开发者快速实现嵌入式温湿度监测应用。

weixin_42549723的博客 524

Python之字符串

雾都之菜魚与Python恋爱的第三天 “字符串” 一、什么是字符串 (大家好!!!我是菜魚,在与Python恋爱的第二天我有浅浅的提到什么是字符串今天呢我将详细的去讲解) 字符串的理解(字符串是用’,”,’’’,”””引起来的内容被称为字符串,书写方式是str) 二、字符串的简单运用 如下图: 三、字符串的转换 3.1、字符的转换在这里我们会用到一个方法就是" .replace() " ,方法.replace(old,new,count)里面的值意思是一个旧值,和一个需要替换的新值,旧值需要替换的

weixin_52051005的博客 2万+

ECN实战指南:如何用SAP系统搞定工程变更(附库存处理避坑技巧)

本文详细解析了如何在SAP系统中高效执行工程变更通知(ECN),特别聚焦PP模块的操作流程与库存处理技巧。通过实战案例和系统操作指南,帮助制造业企业避免库存混乱和生产中断,实现从创建到生效的全流程管理。

m5n6o7的博客 1082

2021-4.字符串

字符串介绍 可以理解为一段普通的文本内容,使用引号来表示一个字符串,不同的引号表示的效果会有区别。 字符串表示方式 a = "I'm Tom" # 一对双引号 b = 'Tom said:"I am Tom"' # 一对单引号 c = 'Tom said:"I\'m Tom"' # 转义字符 d = '''Tom said:"I'm Tom"''' # 三个单引号 e = """Tom said:"I'm Tom" """ # 三个双引号 小总结: 双

weixin_45477022的博客 1162

直流有刷电机控制 - 认识电机(一)

电机控制学习

u011030644的博客 917

微生物16S数据上传NCBI的SRA库

本篇内容仅包括:俺自己的实验收集了淡水、淡水沉积物、海水、海草附着微生物样品,测序所得的Fastq格式数据,在文章投稿发表时被要求数据需上传NCBI的SRA库,得到一个PRJNA2347899这样子的IDs。仅解决了这个上传过程!

Xf_Niu的博客 7436

Python——— 字符串

全网最细Python之字符串

qq_63976098的博客 3352

ABAP GIT 作用介绍

总结起来,ABAPGit 是一个强大的工具,它通过将 SAP ABAP 项目与 Git 版本控制系统集成,大大提高了代码管理的效率和团队协作的质量。在 ABAPGit 出现之前,ABAP 代码的版本控制和团队之间的协作主要依赖于手工操作或者是 SAP 自带的版本控制工具,这些方式效率低下,且难以实现高效的代码管理。使用 ABAPGit,SAP 项目团队不仅可以提高代码管理的效率和质量,还可以通过 Git 的强大功能实现高效的团队协作和代码审查。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 841

Python 字符串完全指南:从基础到进阶操作

这篇文章系统介绍了Python字符串的七大核心知识点:1. 字符串定义2. 转义字符和原始字符串(r前缀)3. 三种格式化方法(%格式化、format()、f-string)4. 索引访问5. 切片操作([start:end:step]左闭右开)6. 遍历字符串的多种方式7. 常用字符串方法。每个知识点都配有代码示例,特别推荐使用f-string格式化和切片操作,强调字符串不可变特性。

2603_96602356的博客 322

android11.0 Launcher3 高端定制之循环滑动

待机界面可以向左、向右循环切换页面 效果图 修改清单 packages/apps/Launcher3/res/values-zh-rCN/strings.xml packages/apps/Launcher3/res/values/config.xml packages/apps/Launcher3/res/values/strings.xml packages/apps/Launcher3/res/xml/launcher_preferences.xml packages/apps/Launc

cczhengv 1549

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Python字符串操作完全指南:从入门到实践

python的字符串入门到实践

2301_81661648的博客 1592

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

python字符串入门指南:从基础到进阶

新书上架~👇全国包邮奥~python实用小工具开发教程。

anananajiushiwo的博客 614

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python3 详解:从基础到进阶的完整指南

Python3核心特性解析:默认UTF-8编码、print()函数、/返回浮点数;统一字符串类型为str和bytes;增强生成器、装饰器等高级特性;改进面向对象和异常处理。与Python2相比,关键差异包括编码、打印、除法和字符串处理等。推荐常用库如NumPy、Pandas、Flask等。迁移指南建议使用2to3工具和future库,注意字符串处理和依赖升级。学习资源推荐官方文档、《流畅的Python》等书籍和在线课程。

技术人集结地 1417

Python基础:字符串索引与切片操作完全指南

在Python中,操作字符串的"任意部分"——提取子串、反转字符串、隔位取值——这些操作通过索引和切片来实现。这两个操作是Python字符串处理中最常用、最核心的技能。一旦掌握它们,你处理文本的能力将提升一个档次。

未来 95% 的 AI 应用将变得隐形,广泛融入日常生活。 1万+

Python JSON模块完全指南:从入门到进阶

return {user = User("王小明", datetime.now())掌握基础数据类型转换熟练使用四个核心方法理解编码/解码过程实践自定义类型处理建立数据验证机制。

weixin_45894006的博客 1074

Python字符串转义字符完全指南

本文章详细的解释Python中字符串转义字符的知识点,用通俗的语言以及表格和提问的方式解释了其写法,概念

x15514104477的博客 1579

Python 编程实战指南:从基础到进阶

在 Python 中,使用def关键字定义一个函数,函数名后跟着圆括号,用来传递参数。name } " # 调用函数 message = greet("Alice") print(message)# 调用函数在现代计算机系统中,我们经常需要同时执行多个任务,尤其是在进行 I/O 密集型操作或需要提高程序执行效率时。并发编程是指多个任务在同一时间段内执行的能力。

weixin_43199439的博客 1818

Python编程:基础到进阶的完全指南

Python是跨平台的,可以在Windows、Linux、MacOS等操作系统上运行。Python,一种简洁、易读、高效且功能强大的编程语言,已经在数据科学、人工智能、Web开发等多个领域取得了广泛的应用。本文将带您从Python的基础知识开始,逐步深入到进阶的技巧和应用。Python的基本语法包括变量、数据类型(如数字、字符串、列表、字典、元组等)、条件语句(如if-else)、循环语句(如for、while)等。Python提供了丰富的文件操作功能,包括文件的读取和写入。Python的函数定义使用。

weixin_46121540的博客 563

Python字符串全面指南:从基础到高级

字符串是Python中最常用的数据类型之一。本文将用通俗易懂的方式,结合大量代码示例和图表,带你全面掌握Python字符串的所有重要知识点。

x15514104477的博客 982

Python字符串统计:从基础到进阶的实用指南

字符串统计是编程中的基础技能,Python提供了丰富而强大的工具来完成各种统计任务。从最简单的len()和count()方法,到和正则表达式,我们可以根据不同需求选择合适的工具。文本处理和分析日志文件分析数据清洗和预处理网络爬虫开发密码学和安全分析随着Python生态的不断发展,未来可能会有更多高效的字符串处理库出现。掌握这些基础统计技巧,将为你处理更复杂的文本分析任务打下坚实基础。希望本文介绍的这些方法和技巧能帮助你更高效地完成字符串统计任务。

这家伙很懒,什么都没有留下 1105

Python字符串用法大全:从基础到高级实战

Python字符串操作指南摘要 本文全面介绍了Python字符串的核心概念与操作方法。主要内容包括: 字符串创建与特性:使用单/双/三引号创建,字符串不可变性 基本操作:拼接(+、join)、重复(*)、索引切片、长度获取 格式化方法:%格式化、format()和f-string(推荐) 常用方法:大小写转换、去除空白、查找替换、分割连接、类型检查 性能优化:join()比+拼接更高效 编码处理:ASCII/Unicode转换,encode/decode方法 实际应用:文件路径处理等案例 关键点: 字符串不

m0_73938881的博客 1342
上一篇: Python时间模块与循环控制:从入门到实践
下一篇: Python中字符串的操作(超详细版)
python666Lc
博客等级 码龄126天 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值