Python中的字符串
字符串类型及操作
目标:字符串确切来说属于容器类型,1个变量中同时保存多个元素值。掌握字符串定义、字符串遍历、通过索引获取字符串中的元素!!!
1、字符串的定义
字符串是 Python 中最常用的数据类型。我们一般使用”引号”来创建字符串。创建字符串很简单,只要为变量分配一个值即可。
案例1:使用单引号或双引号定义字符串变量
1 | str1 = 'abcdefg' |
注意:在Python中,和Shell有所不同;Python中定义字符串不管使用单引号也好,双引号也好都是字符串定义,几乎没有区别。
2、底层存储形式
在计算机中,Python中的字符串属于序列结构(数据容器的一种)。所以其底层存储占用一段连续的内存空间。
1 | str1 = 'itheima' |
结构原理图:
索引下标默认从0开始
索引下标的最大值 = len(字符串) - 1
7个字符,则索引下标的最大值为7-1 = 6
注意:索引下标从0开始。
3、聊聊索引下标
索引下标,就是编号。比如火车座位号,座位号的作用:按照编号快速找到对应的座位。同理,下标的作用即是通过下标快速找到对应的数据。
举个例子:
1 | name = 'abcdef' |
4、字符串切片操作(重点)
作用:就是从字符串中截取一部分你想要内容的过程 => 切片 => 截取你想要的内容
所谓的切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
字符串切片基本语法
顾头不顾尾:
1 | 字符串/列表/元组名称[开始位置下标:结束位置下标:步长] |
① 不包含结束位置下标对应的数据, 正负整数均可;
② 步长是选取间隔,正负整数均可,正数从左向右,负数从右向左。默认步长为1。
还是有点陌生,没关系,给你举个栗子:
1 | numstr = '0123456789' |
如果想对numstr字符串进行切片,如下图所示:
字符串切片小口诀
记口诀:切片其实很简单,只顾头来尾不管,步长为正正向移,步长为负则逆向移
如果还是有点不太清楚这个原理,建议大家对字符串进行画图
案例:
1 | numstr = '0123456789' |
5、字符串相关方法(重点)
5.1 字符串中的查找方法
所谓字符串查找方法即是查找子串(关键词)在字符串中的位置或出现的次数。
基本语法:
1 | 字符串.find(要查找的字符或者子串) |
☆ find()方法
作用:检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1。
1 | # 定义一个字符串 |
案例:使用input方法输入任意一个文件名称,求点号的索引下标
1 | ''' |
5.2 字符串的替换方法
所谓修改字符串,指的就是通过函数(方法)的形式修改字符串中的数据。
☆ replace()方法
基本语法:
1 | 字符串.replace(要替换的内容, 替换后的内容, 替换的次数-可以省略) |
案例:编写一个字符串,然后把字符串中的linux替换为python
1 | str1 = 'hello linux and hello linux' |
目前在工作中,replace主要用于实现关键字替换或过滤功能。北京 ==> BJ,论坛关键字过滤
☆ split()方法
作用:对字符串进行切割操作,返回一个list列表类型的数据
1 | str1 = 'apple-banana-orange' |
☆ join()方法
作用:和split()方法正好相反,其主要功能是把序列拼接为字符串
1 | 字符串.join(数据序列) |
案例:把水果列表[‘apple’, ‘banana’, ‘orange’]拼接成’apple-banana-orange’
1 | list1 = ['apple', 'banana', 'orange'] |
☆ strip()方法
作用:用于移除字符串开头和结尾的指定字符(默认为空格)。它不会影响字符串中间的字符。
基本语法
1 | 字符串.strip() |
案例:去除字符串首尾空格
1 | ''' |
