【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)

🍑 实现结果:


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


相关文章
|
27天前
|
Python
[oeasy]python050_如何删除变量_del_delete_variable
本文介绍了Python中如何删除变量,通过`del`关键字实现。首先回顾了变量的声明与赋值,说明变量在声明前是不存在的,通过声明赋予其生命和初始值。使用`locals()`函数可查看当前作用域内的所有本地变量。进一步探讨了变量的生命周期,包括自然死亡(程序结束时自动释放)和手动删除(使用`del`关键字)。最后指出,删除后的变量将无法在当前作用域中被访问,并提供了相关示例代码及图像辅助理解。
111 68
|
22天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
46 8
|
22天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
69 7
|
22天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
47 4
|
22天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
43 5
|
29天前
|
Shell Python
[oeasy]python049_[词根溯源]locals_现在都定义了哪些变量
本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。
35 9
|
29天前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
44 5
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
30天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
18天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
103 80