> 技术文档 > Python入门:Python3 字符串全面学习教程

Python入门:Python3 字符串全面学习教程

在这里插入图片描述

在这里插入图片描述

Python入门:Python3 字符串全面学习教程

Python入门:Python3 字符串全面学习教程,本文详细介绍了 Python3 字符串的相关知识,包括创建方式,即使用单引号或双引号赋值;访问方法,通过方括号截取,索引从 0 开始;更新可截取拼接实现。还讲解了转义字符、多种运算符及用法,字符串格式化的三种方式(%、str.format ()、f-string),三引号的多行字符串功能,Unicode 字符串特点,以及 40 种常用内建函数,帮助初学者全面掌握 Python3 字符串操作。

Python入门:Python3 字符串全面学习教程

前言

    Python作为一门简洁、易读、功能强大的编程语言,其基础语法是入门学习的核心。掌握好基础语法,能为后续的编程实践打下坚实的基础。本文将全面讲解Python3的基础语法知识,适合编程初学者系统学习。Python以其简洁优雅的语法和强大的通用性,成为当今最受欢迎的编程语言。本专栏旨在系统性地带你从零基础入门到精通Python核心。无论你是零基础小白还是希望进阶的专业开发者,都将通过清晰的讲解、丰富的实例和实战项目,逐步掌握语法基础、核心数据结构、函数与模块、面向对象编程、文件处理、主流库应用(如数据分析、Web开发、自动化)以及面向对象高级特性,最终具备独立开发能力和解决复杂问题的思维,高效应对数据分析、人工智能、Web应用、自动化脚本等广泛领域的实际需求。

在这里插入图片描述


在这里插入图片描述

🥇 点击进入Python入门专栏,Python凭借简洁易读的语法,是零基础学习编程的理想选择。本专栏专为初学者设计,系统讲解Python核心基础:变量、数据类型、流程控制、函数、文件操作及常用库入门。通过清晰示例与实用小项目,助你快速掌握编程思维,打下坚实根基,迈出自动化办公、数据分析或Web开发的第一步。

🥇 点击进入Python小游戏实战专栏, 寓教于乐,用Python亲手打造经典小游戏!本专栏通过开发贪吃蛇、飞机大战、猜数字、简易版俄罗斯方块等趣味项目,在实践中掌握Python核心语法、面向对象编程、事件处理、图形界面(如Pygame)等关键技能,将枯燥的代码学习转化为可见的成果,让学习编程充满乐趣与成就感,快速提升实战能力。

🥇 点击进入Python小工具实战专栏,告别重复劳动,用Python打造效率神器!本专栏教你开发文件批量处理、自动邮件通知、简易爬虫、桌面提醒、密码生成器、天气查询等实用小工具。聚焦os、shutil、requests、smtplib、schedule等核心库,通过真实场景案例,快速掌握自动化脚本编写技巧,解放双手,显著提升工作与生活效率,让代码真正服务于你的日常。

🥇 点击进入Python爬虫实战专栏,解锁网络数据宝库!本专栏手把手教你使用Python核心库(如requests、BeautifulSoup、Scrapy)构建高效爬虫。从基础网页解析到动态页面抓取、数据存储(CSV/数据库)、反爬策略应对及IP代理使用,通过实战项目(如电商比价、新闻聚合、图片采集、舆情监控),掌握合法合规获取并利用网络数据的核心技能,让数据成为你的超能力。

🥇 点击进入Python项目实战专栏,告别碎片化学习,挑战真实项目!本专栏精选Web应用开发(Flask/Django)、数据分析可视化、自动化办公系统、简易爬虫框架、API接口开发等综合项目。通过需求分析、架构设计、编码实现、测试部署的全流程,深入掌握工程化开发、代码复用、调试排错与团队协作核心能力,积累高质量作品集,真正具备解决复杂问题的Python实战经验。


Python3 字符串全面学习教程


🌐 前篇文章咱们讲解了 Python入门:Python3 数字 (Number) 全面学习教程 ,如果忘记了,可以去重温一下,不停的重复敲击基础代码,有助于让你更加熟练掌握一门语言。今天咱们学习 Python3 字符串全面学习教程,下面开始吧!

字符串是 Python 中最常用的数据类型之一,掌握字符串的操作对于 Python 编程至关重要。本文将详细介绍 Python3 字符串的创建、访问、更新、转义字符、运算符、格式化方式以及常用内建函数等内容,帮助你全面掌握 Python 字符串的相关知识。

一、字符串的创建

在 Python 中,创建字符串非常简单,只需使用单引号(\')或双引号(\")将字符括起来,并为变量分配值即可。例如:

var1 = \'Hello World!\'var2 = \"Runoob\"

需要注意的是,Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

二、访问字符串中的值

Python 中可以使用方括号([])来截取字符串中的子字符串,其语法格式如下:

变量[头下标:尾下标]

其中,索引值以 0 为开始值,-1 为从末尾的开始位置。

实例:

#!/usr/bin/python3var1 = \'Hello World!\'var2 = \"xcLeigh\"print(\"var1[0]: \", var1[0])print(\"var2[1:5]: \", var2[1:5])

执行结果:

var1[0]: Hvar2[1:5]: cLe

控制台输出

在这里插入图片描述

三、字符串的更新

你可以通过截取字符串的一部分并与其他字段拼接来更新字符串。

实例:

#!/usr/bin/python3var1 = \'Hello World!\'print(\"已更新字符串 : \", var1[:6] + \'xcLeigh!\')

执行结果:

已更新字符串 : Hello xcLeigh!

控制台输出

在这里插入图片描述

四、转义字符

在需要在字符中使用特殊字符时,Python 用反斜杠(\\)作为转义字符。常见的转义字符如下表所示:

转义字符 描述 实例 (在行尾时) 续行符 >>> print(\"line1 \\... line2 \\... line3\")
line1 line2 line3 \\ 反斜杠符号 >>> print(\"\\\\\")
\\ ’ 单引号 >>> print(\'\\\'\')
’ \" 双引号 >>> print(\"\\\"\")
\" \\a 响铃 >>> print(\"\\a\")
执行后电脑有响声。 \\b 退格(Backspace) >>> print(\"Hello \\b World!\")
Hello World! \\000 空 >>> print(\"\\000\")
(无输出) \\n 换行 >>> print(\"\\n\")
(输出一个空行) \\v 纵向制表符 >>> print(\"Hello \\v World!\")
Hello
World! \\t 横向制表符 >>> print(\"Hello \\t World!\")
Hello World! \\r 回车,将\\r后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将\\r后面的内容完全替换完成。 >>> print(\"Hello\\rWorld!\")
World!
>>> print(\'google runoob taobao\\r123456\')
123456 runoob taobao \\f 换页 >>> print(\"Hello \\f World!\")
Hello
World! \\yyy 八进制数,y代表0~7的字符,例如:\\012代表换行。 >>> print(\"\\110\\145\\154\\154\\157\\40\\127\\157\\162\\154\\144\\41\")
Hello World! \\xyy 十六进制数,以\\x开头,y代表的字符,例如:\\x0a代表换行 >>> print(\"\\x48\\x65\\x6c\\x6c\\x6f\\x20\\x57\\x6f\\x72\\x6c\\x64\\x21\")
Hello World! \\other 其它的字符以普通格式输出 无

实例:使用 \\r 实现百分比进度

import timefor i in range(101): # 添加进度条图形和百分比 bar = \'[\' + \'=\' * (i // 2) + \' \' * (50 - i // 2) + \']\' print(f\"\\r{bar} {i:3}%\", end=\'\', flush=True) time.sleep(0.05)print()

控制台输出

在这里插入图片描述

五、字符串运算符

假设变量 a 的值为字符串 “Hello”,变量 b 的值为 “Python”,常见的字符串运算符如下表所示:

操作符 描述 实例 + 字符串连接 a + b 输出结果:HelloPython * 重复输出字符串 a*2 输出结果:HelloHello [] 通过索引获取字符串中字符 a[1] 输出结果 e [ : ] 截取字符串中的一部分,遵循左闭右开原则,str[0:2]是不包含第3个字符的。 a[1:4] 输出结果 ell in 成员运算符 - 如果字符串中包含给定的字符返回 True ‘H’ in a 输出结果 True not in 成员运算符 - 如果字符串中不包含给定的字符返回 True ‘M’ not in a 输出结果 True r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 print(r’\\n’) 输出结果:\\n
print(R’\\n’) 输出结果:\\n

实例:

#!/usr/bin/python3a = \"Hello\"b = \"Python\"print(\"a + b 输出结果:\", a + b)print(\"a * 2 输出结果:\", a * 2)print(\"a[1] 输出结果:\", a[1])print(\"a[1:4] 输出结果:\", a[1:4])if (\"H\" in a): print(\"H 在变量 a 中\")else: print(\"H 不在变量 a 中\")if (\"M\" not in a): print(\"M 不在变量 a 中\")else: print(\"M 在变量 a 中\")print(r\'\\n\')print(R\'\\n\')

执行结果:

a + b 输出结果: HelloPythona * 2 输出结果: HelloHelloa[1] 输出结果: ea[1:4] 输出结果: ellH 在变量 a 中M 不在变量 a 中\\n\\n

控制台输出

在这里插入图片描述

六、字符串格式化

Python 支持格式化字符串的输出,常见的格式化方式有以下几种:

1. 使用 % 格式化

这种方式与 C 中 sprintf 函数的语法类似,最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

实例:

#!/usr/bin/python3print(\"我叫 %s 今年 %d 岁!\" % (\'小明\', 10))

执行结果:

我叫 小明 今年 10 岁!

常见的字符串格式化符号如下表所示:

符号 描述 %c 格式化字符及其ASCII码 %s 格式化字符串 %d 格式化整数 %u 格式化无符号整型 %o 格式化无符号八进制数 %x 格式化无符号十六进制数 %X 格式化无符号十六进制数(大写) %f 格式化浮点数字,可指定小数点后的精度 %e 用科学计数法格式化浮点数 %E 作用同%e,用科学计数法格式化浮点数 %g %f和%e的简写 %G %f 和 %E 的简写 %p 用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号 功能 * 定义宽度或者小数点精度 - 用做左对齐 + 在正数前面显示加号( + ) 在正数前面显示空格 # 在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’) 0 显示的数字前面填充’0’而不是默认的空格 % ‘%%‘输出一个单一的’%’ (var) 映射变量(字典参数) m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

2. 使用 str.format() 格式化

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

3. 使用 f-string 格式化

f-string 是 Python3.6 之后版本添加的,称之为字面量格式化字符串,以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去。

实例:

>>> name = \'xcLeigh\'>>> f\'Hello {name}\' # 替换变量\'Hello xcLeigh\'>>> f\'{1+2}\' # 使用表达式\'3\'>>> w = {\'name\': \'xcLeigh\', \'url\': \'xcleigh.blog.csdn.net\'}>>> f\'{w[\"name\"]}: {w[\"url\"]}\'\'xcLeigh: xcleigh.blog.csdn.net\'

在 Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果:

>>> x = 1>>> print(f\'{x+1=}\') # Python 3.8x+1=2

七、三引号

Python 三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

实例:

#!/usr/bin/python3para_str = \"\"\"这是一个多行字符串的实例多行字符串可以使用制表符TAB ( \\t )。也可以使用换行符 [ \\n ]。\"\"\"print(para_str)

执行结果:

这是一个多行字符串的实例多行字符串可以使用制表符TAB ( )。也可以使用换行符 [ ]。

三引号的一个典型用例是当你需要一块 HTML 或者 SQL 时,能让你从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的 WYSIWYG(所见即所得)格式。

errHTML = \'\'\'xcLeigh

ERROR

%s

\'\'\'cursor.execute(\'\'\'CREATE TABLE users ( login VARCHAR(8), uid INTEGER,prid INTEGER)\'\'\')

八、Unicode 字符串

在 Python2 中,普通字符串是以 8 位 ASCII 码进行存储的,而 Unicode 字符串则存储为 16 位 unicode 字符串,这样能够表示更多的字符集,使用的语法是在字符串前面加上前缀 u。

但在 Python3 中,所有的字符串都是 Unicode 字符串。

九、字符串内建函数

Python 的字符串提供了许多常用的内建函数,如下表所示:

序号 方法及描述 1 capitalize():将字符串的第一个字符转换为大写 2 center(width, fillchar):返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。 3 count(str, beg=0, end=len(string)):返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 4 bytes.decode(encoding=“utf-8”, errors=“strict”):Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。 5 encode(encoding=‘UTF-8’,errors=‘strict’):以 encoding 指定的编码格式编码字符串,如果出错默认报一个 ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’ 6 endswith(suffix, beg=0, end=len(string)):检查字符串是否以 suffix 结束,如果 beg 或者 end 指定则检查指定的范围内是否以 suffix 结束,如果是,返回 True,否则返回 False。 7 expandtabs(tabsize=8):把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。 8 find(str, beg=0, end=len(string)):检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1 9 index(str, beg=0, end=len(string)):跟 find() 方法一样,只不过如果 str 不在字符串中会报一个异常。 10 isalnum():检查字符串是否由字母和数字组成,即字符串中的所有字符都是字母或数字。如果字符串至少有一个字符,并且所有字符都是字母或数字,则返回 True;否则返回 False。 11 isalpha():如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True,否则返回 False 12 isdigit():如果字符串只包含数字则返回 True 否则返回 False. 13 islower():如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False 14 isnumeric():如果字符串中只包含数字字符,则返回 True,否则返回 False 15 isspace():如果字符串中只包含空白,则返回 True,否则返回 False. 16 istitle():如果字符串是标题化的(见 title())则返回 True,否则返回 False 17 isupper():如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False 18 join(seq):以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 19 len(string):返回字符串长度 20 ljust(width[, fillchar]):返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。 21 lower():转换字符串中所有大写字符为小写. 22 lstrip():截掉字符串左边的空格或指定字符。 23 maketrans():创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 24 max(str):返回字符串 str 中最大的字母。 25 min(str):返回字符串 str 中最小的字母。 26 replace(old, new [, max]):把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。 27 rfind(str, beg=0, end=len(string)):类似于 find() 函数,不过是从右边开始查找. 28 rindex(str, beg=0, end=len(string)):类似于 index(),不过是从右边开始. 29 rjust(width[, fillchar]):返回一个原字符串右对齐,并使用 fillchar(默认空格)填充至长度 width 的新字符串 30 rstrip():删除字符串末尾的空格或指定字符。 31 split(str=“”, num=string.count(str)):以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串 32 splitlines([keepends]):按照行(‘\\r’, ‘\\r\\n’, \\n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。 33 startswith(substr, beg=0, end=len(string)):检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果 beg 和 end 指定值,则在指定范围内检查。 34 strip([chars]):在字符串上执行 lstrip()和 rstrip() 35 swapcase():将字符串中大写转换为小写,小写转换为大写 36 title():返回\"标题化\"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle()) 37 translate(table, deletechars=“”):根据 table 给出的表(包含 256 个字符)转换 string 的字符,要过滤掉的字符放到 deletechars 参数中 38 upper():转换字符串中的小写字母为大写 39 zfill(width):返回长度为 width 的字符串,原字符串右对齐,前面填充0 40 isdecimal():检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。

内建函数实例演示

以下通过几个实例来演示部分常用内建函数的使用:

  1. capitalize()
str = \"hello world\"print(str.capitalize()) # 输出:Hello world
  1. count()
str = \"hello world, hello python\"print(str.count(\"hello\")) # 输出:2print(str.count(\"l\", 0, 5)) # 输出:2(在0-5索引范围内查找\"l\"的出现次数)
  1. find()
str = \"hello world\"print(str.find(\"world\")) # 输出:6print(str.find(\"python\")) # 输出:-1(未找到)
  1. join()
list = [\"hello\", \"world\", \"python\"]str = \"-\"print(str.join(list)) # 输出:hello-world-python
  1. replace()
str = \"hello world\"print(str.replace(\"world\", \"python\")) # 输出:hello pythonprint(str.replace(\"l\", \"x\", 1)) # 输出:hexxo world(只替换1次\"l\")
  1. split()
str = \"hello world python\"print(str.split()) # 输出:[\'hello\', \'world\', \'python\'](默认以空格为分隔符)print(str.split(\"o\", 1)) # 输出:[\'hell\', \' world python\'](以\"o\"为分隔符,只分割1次)
  1. upper()和lower()
str = \"Hello World\"print(str.upper()) # 输出:HELLO WORLDprint(str.lower()) # 输出:hello world

十、总结

本文详细介绍了 Python3 字符串的各项知识,包括字符串的创建、访问、更新、转义字符、运算符、格式化方式以及常用内建函数等。字符串作为 Python 中最基础且常用的数据类型,在实际编程中应用广泛,掌握这些知识能够帮助你更高效地处理字符串相关的操作。

建议在学习过程中多动手实践,通过编写代码来加深对这些知识点的理解和掌握。同时,对于字符串的内建函数,不需要死记硬背,在使用时可以查阅 Python 官方文档或相关资料,逐步熟练运用。

希望本文能够为你的 Python 学习之路提供帮助,祝大家学习顺利!

💡 下一篇咱们学习 Python3 列表全面学习教程!

附录:扩展学习资源

  1. 官方资源
    • Python官网:https://www.python.org
    • PyPI:https://pypi.org(查找第三方库)
    • 安装包等相关文件(另附带pycharm工具),网盘下载地址:https://pan.quark.cn/s/649af731037c
    • 学习资料视频和文档资源,网盘下载地址: https://pan.quark.cn/s/ee16901a8954
  2. 本专栏特色资源
    • 代码资源仓库:CSDN专属资源在线获取
    • 海量Python教程:关注公众号:xcLeigh,获取网盘地址
    • 一对一答疑:添加微信与博主在线沟通(备注“Python专栏”

联系博主

    xcLeigh 博主全栈领域优质创作者,博客专家,目前,活跃在CSDN、微信公众号、小红书、知乎、掘金、快手、思否、微博、51CTO、B站、腾讯云开发者社区、阿里云开发者社区等平台,全网拥有几十万的粉丝,全网统一IP为 xcLeigh。希望通过我的分享,让大家能在喜悦的情况下收获到有用的知识。主要分享编程、开发工具、算法、技术学习心得等内容。很多读者评价他的文章简洁易懂,尤其对于一些复杂的技术话题,他能通过通俗的语言来解释,帮助初学者更好地理解。博客通常也会涉及一些实践经验,项目分享以及解决实际开发中遇到的问题。如果你是开发领域的初学者,或者在学习一些新的编程语言或框架,关注他的文章对你有很大帮助。

    亲爱的朋友,无论前路如何漫长与崎岖,都请怀揣梦想的火种,因为在生活的广袤星空中,总有一颗属于你的璀璨星辰在熠熠生辉,静候你抵达。

     愿你在这纷繁世间,能时常收获微小而确定的幸福,如春日微风轻拂面庞,所有的疲惫与烦恼都能被温柔以待,内心永远充盈着安宁与慰藉。

    至此,文章已至尾声,而您的故事仍在续写,不知您对文中所叙有何独特见解?期待您在心中与我对话,开启思想的新交流。


     💞 关注博主 🌀 带你实现畅游前后端!

     🏰 大屏可视化 🌀 带你体验酷炫大屏!

     💯 神秘个人简介 🌀 带你体验不一样得介绍!

     🥇 从零到一学习Python 🌀 带你玩转Python技术流!

     🏆 前沿应用深度测评 🌀 前沿AI产品热门应用在线等你来发掘!

     💦 :本文撰写于CSDN平台,作者:xcLeigh所有权归作者所有) ,https://xcleigh.blog.csdn.net/,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。


在这里插入图片描述

     📣 亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(或者关注下方公众号,看见后第一时间回复,还有海量编程资料等你来领!),博主看见后一定及时给您答复 💌💌💌