字符串的介绍
python中的字符串格式: 如下定义的变量a,存储的是数字类型的值
a = 100
如下定义的变量b,存储的是字符串类型的值
b = "hello usian.cn" 或者 b = 'hello usian.cn'
小总结: 双引号或者单引号中的数据,就是字符串
字符串的输出 :
字符串输入
模拟场景,实现用户登录:
代码实现:
下标
1. 下标索引 所谓“下标”,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储空间
字符串中的“下标”的使用: 列表与元组支持下标索引好理解,字符串实际上就是字符的数组,所以也支持下标索引。
如果有字符串:name = 'abcdef',在内存中的实际存储如下:
如果想取出部分字符,那么可以通过下标的方法, (注意python中下标从 0 开始)
案例:
练一练: 模拟情景myname = “dujunyan”
1. 取myname字符串的第1个元素,并输出
2. 取myname字符串的第5个元素,并输出
3. 取myname字符串的最后一个元素,并输出
4. 取myname字符串的倒数第二个元素,并输出
切片
切片是指对操作的对象截取其中一部分的操作。
字符串、列表、元组都支持切片操作。
切片的语法:[起始下标:结束:步长] 注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。
我们以字符串为例讲解。
字符串的切片操作
案例:name = “abcdef”
练一练: 使用pycharm实现变量a的切片输出:
a = "abcdef" a[:3] a[::2] a[5:2:2] # 错误展示 a[1:5:2] a[::-2] a[5:2:-2]
字符串的常见操作
情景展示: 假如目前有字符串my_str = “hello world hello python” 接下来,将以举例的方式来展示,字符串的相关操作!!!
方法01:find() 方法说明:检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1 格式:my_str.find(str, start=0, end=len(mystr))
案例演示01:
刚刚我们讲了str在my_str中的情况,假如我们要查找的str不在my_str中的时候,会怎么样呢?接下来我们来时机演示一下: 案例演示02:
情景展示: 假如目前有字符串my_str = “hello world hello python” 接下来,将以举例的方式来展示,字符串的相关操作!!!
方法02:index() 方法说明:检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则报错
格式:my_str.index(str, start=0, end=len(mystr))
在index()方法中,刚刚我们讲了str在my_str中的情况,假如我们要查找的str不在my_str中的时候,会怎么样呢?接下来我们来时机演示一下:
案例演示02:
情景展示: 假如目前有字符串my_str = “hello world hello python” 接下来,将以举例的方式来展示,字符串的相关操作!!!
方法03:count() 方法说明:返回 str在start和end之间 在 mystr里面出现的次数
格式:my_str.count(str, start=0, end=len(mystr))
情景展示: 假如目前有字符串my_str = “hello world hello python” 接下来,将以举例的方式来展示,字符串的相关操作!!!
方法04:replace() 方法说明:把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.
格式:my_str.replace(str1, str2, mystr.count(str1))
情景展示: 假如目前有字符串my_str = “hello world hello python” 接下来,将以举例的方式来展示,字符串的相关操作!!!
方法05:split() 方法说明:以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
格式:my_str.split(str=" ", 2)
方法05:split()
情景展示: 假如目前有字符串my_str = “hello world hello python”
方法06:startswith() 方法说明:检查字符串是否是以 str 开头, 是则返回 True,否则返回 False
格式:my_str.startswith(str)
方法06:startswith()
情景展示: 假如目前有字符串my_str = “hello world hello python”
方法07:endswith() 方法说明:检查字符串是否以obj结束,如果是返回True,否则返回 False.
格式:my_str.endswith(obj)
方法07:endswith()
情景展示: 假如目前有字符串my_str = “hello world hello python”
方法08:upper() 方法说明:转换 mystr 中的小写字母为大写
格式:my_str.upper()
情景展示: 假如目前有字符串my_str = “Hello world Hello python”
方法09:lower() 方法说明:转换 mystr 中所有大写字符为小写
格式:my_str.lower()
情景展示: 假如目前有字符串my_str = “hello world hello python”
方法10:title() 方法说明:把字符串的每个单词首字母大写
格式:my_str.title()
情景展示: 假如目前有字符串my_str = “hello world hello python”
方法11:capitalize() 方法说明:把字符串的第一个字符大写
格式:my_str.capitalize()
情景展示: 假如目前有字符串my_str = “ hello ”
方法24:strip() 方法说明:删除mystr字符串两端的空白字符
格式:my_str.strip()
案例演示及结果:
情景展示: 假如目前有字符串my_str = “hello world hello python”
方法25:rfind() 方法说明:类似于 find()函数,不过是从右边开始查找
. 格式:my_str.rfind(str, start=0,end=len(mystr) )
案例演示及结果:
情景展示: 假如目前有字符串my_str = “_”
方法26:join() 方法说明:str 中每个字符后面插入my_str,构造出一个新的字符串
格式:my_str.join(str)
作业
课堂作业
01. 给定一个字符串str = “helloworld”,利用所学字符串的切片知识,反转字符串;
02. 给定一个字符串str = “my name is baoabo”,将“ ”(空格)替换为“,”,并输出显示;
03. 给定一个字符串str = “HELLO WORLD HELLO PYTHON”,将str中所有大写字符为小写
04. str = “ ”(空格),li = [“lisi”,“love“,“xuexi”],将li中每个字符后面插入str,构造出一个新的字符串并输出