python数据序列-字符串
文章目录
python数据序列-字符串
一、字符串
1、字符串的定义
字符串是 Python 中最常用的数据类型, 一般使用引号来创建字符串。创建字符串只要为变量分配一个值即可。
使用单引号或双引号定义字符串变量
|
|
使用3个引号定义字符串变量
|
|
注意:三引号形式的字符串支持换行操作
使用转义字符显示单引号和双引号
使用单引号情况
|
|
运行结果:
出现以上问题的主要原因在于,以上字符串的定义代码出现了(syntax)语法错误。==单引号在字符串定义中必须成对出现,而且Python解析器在解析代码时,会自动认为第一个单引号和最近的一个单引号是一对!==
如果一定要在单引号中在放入一个单引号,必须使用==反斜杠==进行转义。
|
|
使用双引号情况
|
|
注:在Python中,如果存在多个引号,建议① 单引号放在双引号中 ② 双引号放在单引号中。
2、字符串输入
在Python代码中,使用input()
方法来接收用户的输入信息。
注:在Python中,input()方法返回的结果是一个
字符串类型
的数据。
|
|
3、字符串的输出
☆ 普通输出
|
|
☆ 格式化输出
① 百分号(Python2和Python3)
|
|
② format方法(Python3)
|
|
③ f形式(Python3)
|
|
延伸:
|
|
4、字符串在计算机底层的存储形式
在计算机中,Python中的字符串属于序列结构。所以其底层存储占用一段连续的内存空间。
|
|
结构原理图:
注意:索引下标从0开始。
二、字符串切片
1、什么是字符串切片
所谓的切片是指对操作的对象==截取==其中一部分的操作。字符串、列表、元组都支持切片操作。
2、字符串切片基本语法
顾头不顾尾:
|
|
① 不包含结束位置下标对应的数据, 正负整数均可;
② 步长是选取间隔,正负整数均可,正数从左向右,负数从右向左。默认步长为1。
栗子:
|
|
如果想对numstr字符串进行切片,如下图所示:
3、字符串切片小口诀
口诀:==切片其实很简单,只顾头来尾不管,步长为正正向移,步长为负则逆向移==
4、字符串切片栗子
案例1:
|
|
案例2:
案例3:给定一个图片的名称为"avatar.png",使用Python方法获取这个图片的名称(avatar)以及这个图片的后缀(.png)。
分析:
① 建议先获取点号的位置
② 从开头切片到点号位置,得到的就是文件的名称
③ 从点号开始切片,一直到文件的结尾,则得到的就是文件的后缀
|
|
三、字符串的操作方法(内置)
1、字符串中的查找方法
字符串查找方法即是==查找子串在字符串中的位置或出现的次数==。
基本语法:
|
|
编号 | 函数 | 作用 |
---|---|---|
1 | find() | 检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1。 |
2 | index() | 检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则报异常。 |
3 | rfind() | 和find()功能相同,但查找方向为右侧开始。 |
4 | rindex() | 和index()功能相同,但查找方向为右侧开始。 |
5 | count() | 返回某个子串在字符串中出现的次数 |
☆ find()方法
作用:检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1。
|
|
案例:使用input方法输入任意一个文件名称,求点号的索引下标
|
|
☆ index()方法
index()方法其功能与find()方法完全一致,唯一的区别在于当要查找的子串没有出现在字符串中时,find()方法返回-1,而index()方法则直接报错。
|
|
运行结果:
☆ rfind()与rindex()方法
r = right,代表从右开始查找
|
|
强调:rfind()方法与rindex()方法适合于查找子串在字符串中出现了多次的情况
案例:有一个文件名称叫20210310axvu.avatar.png,其中点号出现了2次,这个时候,获取文件的后缀.png。
|
|
rfind()方法和rindex()方法语法上完全一致,唯一的区别就是对子串没有出现在字符串的中的情况,rfind()返回-1,rindex()返回错误。
☆ count()方法
主要功能:求子串在字符串中出现的次数
基本语法:
|
|
案例:获取字符串中and关键字出现的次数
|
|
2、字符串的修改方法
所谓修改字符串,指的就是通过函数(方法)的形式修改字符串中的数据。
编号 | 函数 | 作用 |
---|---|---|
1 | replace() | 返回替换后的字符串 |
2 | split() | 返回切割后的列表序列 |
3 | capitalize() | 首字母大写 |
4 | title() | 所有单词首字母大写 |
5 | upper()与lower() | 返回全部大写或小写的字符串 |
6 | lstrip()、rstrip()与strip() | 去除左边、右边以及两边的空白字符 |
7 | ljust()、rjust()与center() | 返回原字符串左对齐、右对齐以及居中对齐 |
☆ replace()方法
基本语法:
|
|
案例:编写一个字符串,然后把字符串中的linux替换为python
|
|
replace主要用于实现关键字替换或过滤功能。北京 ==> BJ,论坛关键字过滤,共产党 => ***
☆ split()方法
作用:对字符串进行切割操作,返回一个list()列表类型的数据
|
|
☆ capitalize() 方法
作用:把字符串的首字母大写,其他字符全部小写
☆ title()方法
作用:把字符串中的所有单词的首字母大写,组成大驼峰
|
|
☆ upper()与lower() 方法
upper():把字符串全部转换为大写形式
lower():把字符串全部转换为小写形式
|
|
☆ lstrip()、rstrip()与strip()
strip() 方法主要作用:删除字符串两边的空白字符(如空格)
lstrip() 方法 == left + strip,作用:只删除字符串左边的空白字符
rstrip() 方法,作用:只删除字符串右边的空白字符
|
|
☆ ljust()、rjust()、center()
作用:返回原字符串左对齐、右对齐以及居中对齐
基本语法:
|
|
案例:定义一个字符串,要求返回长度为10个字符,不足的使用.点号进行填充
|
|
3、字符串的判断方法
所谓判断即是判断真假,返回的结果是布尔型数据类型:True 或 False。
编号 | 函数 | 作用 |
---|---|---|
1 | startswith() | 检查字符串是否是以指定子串开头,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。 |
2 | endswith() | 检查字符串是否是以指定子串结尾,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。 |
3 | isalpha() | 如果字符串所有字符(至少有一个字符)都是字母则返回 True, 否则返回 False。 |
4 | isdigit() | 如果字符串只包含数字则返回 True 否则返回 False。 |
5 | isalnum() | Python isalnum() 方法检测字符串是否由字母和数字组成。如果字符串所有字符(至少有一个字符)都是字母或数字则返 回 True,否则返回 False。 |
6 | isspace() | 如果字符串中只包含空白,则返回 True,否则返回 False |
☆ startswith()
作用:检查字符串是否是以指定子串开头,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。
|
|
☆ endswith()
作用:检查字符串是否是以指定子串结尾,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。
|
|
☆ isalpha()
作用:如果字符串所有字符(至少有一个字符)都是==字母==则返回 True, 否则返回 False。
|
|
☆ isdigit()
作用:如果字符串只包含==数字==则返回 True 否则返回 False。
|
|
☆ isalnum()
作用:Python isalnum() 方法检测字符串是否由==字母和数字==组成。如果字符串所有字符(至少有一个字符)都是字母或数字则返 回 True,否则返回 False。
|
|
☆ isspace()
作用:如果字符串中只包含空白,则返回 True,否则返回 False(逆向思维)
|
|
文章作者 墨初
上次更新 2022-08-17