【Python】高级变量通关教程下篇(字符串与切片专题详解)(上)

简介: 文章目录前言1 字符串说明2 字符串的常见操作2.1 字符串中的常见方法总览2.2 字符串的长度、次数与位置统计2.3 判断字符串2.4 字符串的查找和替换2.5 去除字符串中的空白字符2.6 字符串的拆分和拼接3 切片3.1 切片的概念与说明3.2 切片的使用——以字符串为例4 本文配套练习题*4.1 练习一4.2 练习二

1.字符串说明

简介:


字符串就是一串字符;

在Python中使用 一对双引号、一对单引号 定义一个字符串;

可以使用 索引 获取字符串中 指定位置的字符,与列表、元组类似,字符串中的索引同样是 从0开始;

在上篇中,我们提到,字符串同样可以通过 for 循环遍历。

🐱 关于引号的几点说明:

 学习过其他编程语言的小伙伴想必都知道,我们可以使用转义字符,比如:\'' 或者 \',但是在 Python 实际使用中,建议:


对于字符串内部有 " ,可以使用 ' 来定义字符串;

对于字符串内部有 ’,可以使用 "来定义字符串;

下面的代码定义了一个字符串:我是’黄小黄’同学

str = "我是'黄小黄'同学"

str 字符串存储结构图如下:



尝试使用 for 逐个字符遍历并打印

str = "我是'黄小黄'同学"
for char in str:
    print(char)


 

2 字符串的常见操作

2.1 字符串中的常见方法总览

这里仅粗略展示 python 中的字符串可以使用的方法,大家只需要熟悉有个大概的认识即可,后面会对具体的方法作详细解释。

1️⃣ 判断字符串(返回值为布尔型):

方法名 说明
str.isspace() 如果 str 只包含空格,则返回 True
str.isalnum() 如果 str 所有字符都为字母或者数字,则返回 True
str.isalpha() 如果 str 所有字符都为字母,则返回 True
str.isdecimal() 如果 str 只包含数字则返回 True,全角数字
str.isdigit() 如果 str 只包含数字则返回 True,全角数字、(1)、\u00b2
str.isnumeric() 如果 str 只包含数字则返回 True,全角数字、汉字数字
str.istitle() 如果 str 是标题化的,即每个单词都是首字母大写,则返回 True
str.islower() 如果 str 中包含至少一个区分大小写的字符,且都是小写,则返回 True
str.isupper() 如果 str 中包含至少一个区分大小写的字符,且都是大写,则返回 True
str.startswith(s) 如果字符串 str 是以 s 开头,则返回 True
str.endswith(s) 如果字符串 str 是以 s 结尾,则返回 True


2️⃣ 查找与替换字符串:

方法名 说明
str.find(s,start,end) 检查 s 是否包含在 str 中,如果指定了 start 和 end 则在指定范围查找(左闭右开),如果包含则返回开始索引,否则返回 -1。与其他查找方法类似,若查找的字符出现多次,则返回第一次出现的索引!
str.rfind(s,start,end) 与 find() 的区别是从右侧开始寻找
str.index(s,start,end) 与 find() 方法类似,但是不存在则会报错
str.rindex(s,start,end) 与 index() 方法类似,但是是从右侧开始查找
str.replace(old_str,new_str,num) 将 str 中的 old_str 替换成 new_str,如果指定了 num,则替换不超过 num 次



3️⃣ 大小写转换:

方法名 说明
str.capitalize() 将 str 的第一个字符大写
str.title() 将字符串的每个单词首字母大写
str.lower() 转换 str 中的所有大写字母为小写
str.upper() 转换 str 中的所有小写字母为大写
str.swapcase() 翻转 str 的大小写


4️⃣ 对字符串的空白字符进行处理:

方法名 说明
str.lstrip() 去除 str 的开始空白字符
str.rstrip() 去除 str 的结束空白字符
str.strip() 去除 str 开始和结束的空白字符



5️⃣ 对字符串进行拆分和连接:

方法名 说明
string.split(str,num) 以 str 为分隔符切片 string,如果有指定 num,则仅分隔 num + 1个子字符串
string.join(seq) 以 string 为分隔符,将 seq 中所有的元素(的字符串表示)合并成一个新的字符串



看到这儿,想必大家也觉得好多啊!这里博主只是列举了我们常用的一些方法,还有例如字符串对齐等的方法没有给出,其实,这些不用特意去记忆,使用多了自然就记住了,当忘记的时候,记得多动手,去查阅相关的方法说明~~~

2.2 字符串的长度、次数与位置统计

⭕️相关方法一览表:

方法名 说明
len(str) 返回 str 字符串的长度
s.count(str) 返回 str 字符串在 s 字符串出现的次数
s.index(str) 返回 str 字符串在 s 字符串第一次出现的索引,如果 s 字符串中不包含 str 字符串,则程序会报错



🐱示例代码:

str = "我是'黄小黄'同学"
# 统计字符串长度
str_len = len(str)
print("字符串的长度为: %d" % str_len)
# 统计子串出现的次数
son_str_count = str.count("黄小黄")
print('子字符串"黄小黄"出现的次数: %d' % son_str_count)
# 统计子串出现的位置
son_str_index = str.index("黄小黄")
print('"黄小黄"出现的索引位于原字符串: %d' % son_str_index)

🍊结果:



2.3 判断字符串

🐱 在概述里,我们学习了许多判断字符串的方法,其中我们介绍到 isspace() 方法用于判断字符串是否全部为空格,实际上,\t \n \r 也可以,相关方法的例子放在下面的代码里,答案还是老样子,放在注释中。

⌨️ 代码示例:

# 1.判断空白字符
str1 = '    \t \r \n'
print(str1.isspace())  # True
# 2.判断字符串是否为数字
str2 = '123456五'
print(str2.isdecimal())  # False
print(str2.isdigit())  # False
print(str2.isnumeric())  # True
str3 = '1.444'
print(str3.isdecimal())  # False
print(str3.isdigit())  # False
print(str3.isnumeric())  # False

2.4 字符串的查找和替换

⌨️ 代码示例:


# 1.查找指定字符串
str1 = '你好,我是黄小黄同学!'
print(str1.find('黄小黄'))  # 5
print(str1.find('黄'))  # 5
print(str1.find('黄', 0, 5))  # -1
# 2.替换字符串
str2 = '我的博客名:Nezuko627'
str3 = str2.replace('Nezuko627', '小黄小黄不再迷茫')
print(str3)  # 我的博客名:小黄小黄不再迷茫
str4 = 'dog dog dog'
print(str4.replace('dog', 'cat'))  # cat cat cat
print(str4.replace('dog', 'cat', 2))  # cat cat dog

🐱 从上述代码示例我们可以总结出:


查找字符串,比如 find 方法,返回的是查找字符串出现第一次的索引;

如果指定查找的范围,示例中为索引 0到5,实际上应该解释成[0,5),即左闭右开区间;

字符串替换方法,replace 默认替换字符串的所有 old_str,当指定 num 时,则最多替换 num 次,示例中给的是 2。

2.5 去除字符串中的空白字符

🐶 该部分内容比较简单,不作解释,具体看代码及运行结果即可。

⌨️ 代码示例:

# 1.查找指定字符串
str1 = '你好,我是黄小黄同学!'
print(str1.find('黄小黄'))  # 5
print(str1.find('黄'))  # 5
print(str1.find('黄', 0, 5))  # -1
# 2.替换字符串
str2 = '我的博客名:Nezuko627'
str3 = str2.replace('Nezuko627', '小黄小黄不再迷茫')
print(str3)  # 我的博客名:小黄小黄不再迷茫
str4 = 'dog dog dog'
print(str4.replace('dog', 'cat'))  # cat cat cat
print(str4.replace('dog', 'cat', 2))  # cat cat dog

🍑 运行结果:

我是黄小黄同学    
    我是黄小黄同学
我是黄小黄同学

2.6 字符串的拆分和拼接

 前面我们已经介绍过,通过 split 方法可以把一个字符串拆分成一个列表,而通过 join 方法,可以把一个列表拼接成一个字符串。

⌨️ 代码示例:

mystr = '哈 利 波 特 的 魔 法 世 界'
mylist = mystr.split(' ')
print(mylist)
mystr_temp = ' '.join(mylist)
print(mystr_temp)

🍑 实现结果:


['哈', '利', '波', '特', '的', '魔', '法', '世', '界']
哈 利 波 特 的 魔 法 世 界


相关文章
|
8天前
|
网络协议 网络安全 开发者
Python 向IP地址发送字符串
Python 向IP地址发送字符串
25 2
|
8天前
|
Python
Python 中取字符串中等于号后面的内容
Python 中取字符串中等于号后面的内容在编程过程中,我们经常需要从字符串中提取特定的信息。一个常见的任务是在给定的字符串中查找等于号(=)后面的内容。这种需求在解析配置文件、处理查询字符串或分析日志数据时尤其常见。 如何实现 在Python中,我们可以使用多种方法来实现此功能。以下是几种常用的方法,包括字符串操作和正则表达式。 方法 1:使用字符串分割 我们可以使用字符串的 split() 方法将字符串拆分为两个部分,然后提取等于号后的值。 示例代码 ----------------------------------- ©著作权归作者所有:来自51CTO博客作者bruce_xiao
22 1
|
9天前
|
Python Windows
python入门保姆级教程 | 13
python入门保姆级教程 | 13
|
7天前
|
数据处理 Python
Python切片魔法:一行代码实现高效数据处理
Python切片魔法:一行代码实现高效数据处理
11 0
|
7天前
|
物联网 Python
python向IP地址发送字符串
python向IP地址发送字符串
16 0
|
8天前
|
JSON 数据格式 Python
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
|
Python 存储
Python的高级特征你知多少?
IEEE Spectrum 于9月6日发布了2019年最受欢迎的编程语言排名,无疑Python蝉联第一,成绩颇为亮眼。从前年开始,Python 就开始霸占榜单长达 2 年,成为编程市场上份额最高的语言。 Python 多好用不用多说,大家看看自己用的语言就知道了。但是 Python 隐藏的高级功能你都 get 了吗?本文中,作者列举了 Python 中五种略高级的特征以及它们的使用方法,快来一探究竟吧!
1009 0
Python的高级特征你知多少?
|
2天前
|
机器学习/深度学习 人工智能 数据可视化
Python比较适合哪些场景的编程?
Python比较适合哪些场景的编程?
14 7
|
1天前
|
大数据 Python
Python 高级编程:深入探索高级代码实践
本文深入探讨了Python的四大高级特性:装饰器、生成器、上下文管理器及并发与并行编程。通过装饰器,我们能够在不改动原函数的基础上增添功能;生成器允许按需生成值,优化处理大数据;上下文管理器确保资源被妥善管理和释放;多线程等技术则助力高效完成并发任务。本文通过具体代码实例详细解析这些特性的应用方法,帮助读者提升Python编程水平。
18 5
|
6天前
|
数据挖掘 索引 Python
Python数据挖掘编程基础3
字典在数学上是一个映射,类似列表但使用自定义键而非数字索引,键在整个字典中必须唯一。可以通过直接赋值、`dict`函数或`dict.fromkeys`创建字典,并通过键访问元素。集合是一种不重复且无序的数据结构,可通过花括号或`set`函数创建,支持并集、交集、差集和对称差集等运算。
15 9
下一篇
无影云桌面