网站首页 > 基础教程 正文
Python中 partition() 函数的作用是在首次出现分隔字符串的位置把字符串分割为三部分,并以元组的形式返回分割结果,返回的元组中包括分隔字符串之前的部分,分隔字符串本身及分隔字符串之后的部分。
一、partition()函数的语法格式
string_name.partition(separator)
(1)string_name 为要被分隔的字符串或字符串变量。
(2)该函数有一个字符串类型的参数:separator,该参数用于指定分隔原字符串的字符串;
(3)该函数的返回类型为元组类型,元组中包括了分割后的三部分:
- 分隔字符串 separator 之前的部分;
- 分隔字符串 separator 本身;
- 分隔字符串 separator 之后的部分。
二、partition()函数使用示例
1、分隔字符串位于原字符串的内部
str1 = "翔宇亭IT乐园"
str_sep = "IT"
res = str1.partition(str_sep)
print(res)
输出结果:
('翔宇亭', 'IT', '乐园')
从这个结果可以看出,partition() 函数以分隔字符串为分割依据,将str1 分成了三部分:'翔宇亭'——位于分隔字符串'IT'的前边,'IT'——分隔字符串本身,'乐园'——位于分隔字符串的后边。
2、分隔字符串位于原字符串的头部
str1 = "Python is simple.Python is strong."
res = str1.partition("Python")
print(res)
输出结果:
('', 'Python', ' is simple.Python is strong.')
因为,在字符串str1中,第一个与分隔字符串"Python"匹配的字符串位于最前边,则返回的结果中,第一个为空字符串,然后是分隔字符串本身,最后是位于分隔字符串后边的部分。
3、分隔字符串位于原字符串的尾部
str1 = "I'm studying Python"
res = str1.partition("Python")
print(res)
输出结果为:
("I'm studying ", 'Python', '')
因为,在字符串str1中与分隔字符串“Python”匹配的位置位于最后,所以,返回结果中的第一部分是"Python"前边的内容,然后是分隔字符串本身,最后是一个空字符串。
4、原字符串中不含分隔字符串本身
str1 = "翔宇亭IT乐园"
res = str1.partition("Python")
print(res)
输出结果为:
('翔宇亭IT乐园', '', '')
由于原字符串中不含分隔字符串“Python”,则输出结果中第一部分是原字符串本身,第二部分和第三部分为空字符串。
5、分隔字符串与原字符串相同
str1 = "Python"
res = str1.partition("Python")
print(res)
输出结果:
('', 'Python', '')
从结果可以看出,若分隔字符串与原字符串相同,则结果中,分隔字符串前后部分都为空字符串。
6、该函数对分隔字符串是大小写敏感的
str1 = "翔宇亭IT乐园"
res1 = str1.partition("it")
res2 = str1.partition("IT")
print(res1)
print(res2)
输出结果为:
('翔宇亭IT乐园', '', '')
('翔宇亭', 'IT', '乐园')
从这个输出结果可以看出,由于第一个分隔字符串给的是小写形式的“it”,而字符串 str1 中不存在这样的字符串,所以其按照上例(4、原字符串中不含分隔字符串本身)的处理方式来处理,而第2个分隔符给的是大写形式的“IT”,所以其以“IT”作为分隔把原字符串str1分成了三部分。
7、分隔字符串不能为空字符串
分隔字符串作为partition() 函数的参数不能是一个空字符串,否则会给出 ValueError 的错误。但可以是转义字符。如下面的例子:
str1 = "翔宇亭IT\r\n乐园"
res1 = str1.partition("\r\n") #分隔字符串包含转义字符
print(res1)
res2 = str1.partition("") #分隔字符串为空
print(res2)
输出结果如下图所示:
例子中,由于使用了空字符串作为分隔字符串,则给出了 ValueError:empty separator的错误,即分隔符为空的错误。
三、总结
该函数的具体执行过程为:
(1)如果字符串中包含指定的分隔字符串,则在字符串中首次出现分隔字符串的位置把字符串分成三部分:分隔字符串前面的部分,分隔字符串本身和分隔字符串后边的部分,当然,有可能某部分为空字符串。
(2)如果原字符串中不含分隔字符串则输出结果会包含原字符串本身及两个空字符串。
(3)该函数是大小写敏感的,且分隔字符串不能为空字符串。
欢迎关注本号,本号将持续更新相关内容。
也欢迎你指出文章中的不当之处,让每个人知道什么是正确的事情。
- 上一篇: python中的字符串
- 下一篇: Python基础知识——字符串
猜你喜欢
- 2025-01-06 一听就懂:用Python做一个超简单的小游戏
- 2025-01-06 ArcGIS 一个独立运行的Python程序编写和打包
- 2025-01-06 Python基础入门之字符串使用方法详解
- 2025-01-06 python txt文件截取数据处理
- 2025-01-06 手把手教会你使用Python进行jieba分词
- 2025-01-06 Python:字符串操作常用方法
- 2025-01-06 Python学习笔记 | 字符串切片,正反向来回切跳着切,真绕脑子
- 2025-01-06 Python学习(8):字符串
- 2025-01-06 Python字符串详细介绍
- 2025-01-06 盘点一个Excel数据分割和explode()实战问题
- 01-09Oracle数据库面试题汇总
- 01-09Oracle AWR解析-Report Summary
- 01-09想要成为数据分析师,这些Excel必备知识点你得掌握
- 01-09java开发中常用Oracle函数实例总结比较,当真不少
- 01-09DriveWorks其实是这么回事
- 01-09EXCEL做数据分析,学会这些就入门了
- 01-09一场pandas与SQL的巅峰大战(六)
- 01-09Oracle数据库知识 day01 Oracle介绍和增删改查
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)