先声明一下 各位大佬,这是我的笔记。 如有错误,恳请指正。 另外,感谢您的观看,谢谢啦! ##1.字符串介绍
字符串是Python中最常用的数据类型之一,使用单引号或双引号来创建字符串
str1 = 'i love python' print(str1) i love python我们也可以使用三引号来创建字符串(’’’ ‘’'和""" “”")
str1 =''' When I wake up in the morning, You are all I see; When I think about you, ''' print(str1)这是网上随便找的诗歌,
我们要注意三引号内部的格式在打印时也会被完整的打印出来。
When I wake up in the morning, You are all I see; When I think about you,空格和换行符’\n’都能被打印出来
###(1).索引
如果想把‘i love python’中的第3个字母打印出来只需要这样
print(str1[2])可能你会有疑问:为什么是2不是3?
这就要引入索引的概念了
i love python
0->i,1-> ,2->l,3->o,4->v,5->e,6-> ,7->p,8->y,9->t,10->h,11->o,12->n
字符串中的每一个字符对应一个索引值,而这个值是从0开始的所以上面是2不是3
如果我想输出字符串的最后一个字符哪是不是就是[12]
print(str1[12]) n完全正确,但是其实还有更好的办法哟
print(str7[len(str1)-1])len是返回()内的字符串长度,又因为字符串下标是从0开始的,所以要减一啦
print(str1[-1])这个‘-’的意思是从左往右数的意思了,不过大家可能疑惑:那不应该是‘-0’吗,这个疑问我会和下面的切片一起讲,不要着急啦。
###(2).切片
这个用法就像它的名字一样,把字符串切成一块一块的。
print(str1[7:13]) #左闭右开 print(str1[0:7]) python i love大家看这句print(str1[7:13]),打印的是‘python’ 选取的区间是7到13,大家可以理解为切片是左闭右开的,或者说是左边的范围会包含,右边的却不会。
切片操作还有更灵活的地方
print(str1[:]) print(str1[7:]) print(str1[:7]+'python!') i love python python i love python!没错,如果左边的范围不写,就默认是0,右边的不写就默认是len(当前的字符串)-1
还没完,还有步长这个神奇的东西
print(str7[::2]) print(str7[::-1]) ilv yhn nohtyp evol i‘2’就是每次向前进走两步
而‘-1’就是从右向左每次走一步
(3).字符串的初始化
最简单的办法:
str1 = 'i love C'假如某天不爱C了,还要整句都改吗
我们可以这样
str1 = 'i love ' str2 = 'python' print(str1+str2) i love python字符串的初始化还有以下方法
str1 = 'love' str2 = 'python' print('i %s %s'%(str1,str2))结果和上面是一样的,语句中%s是占位符,有点像图书馆占座一样,先把位置占好,字符串来了直接往里一坐。
str3 = 'i {} {}'.format(str1,str2) str4 = 'i {1} {0}'.format(str2,str1)结果同上,注意{}内是可以加索引的。
str5 = f'i {str1} {str2}' print(str5)我们也可以不用format直接把字符串的变量名加到{}里面,
这种方法还有一个好处,那就是它不只是加字符串,还可以加入其他类型
str11= 'am' int1= 23 str6 = f'i {str11} {int1}' print(str6) i am 23字符串(str)的库函数有很多这里就简单讲几个常用的。
print(str1.find('i')) print(str1.find('b')) 0 -1find是寻找()内的字符,把它第一次出现的索引值返回回来
当()内的字符不存在于要找的字符串中会返回‘-1’
print(str1.index('i')) print(str1.index('b'))index与find差不多,但是不同之处在于没找到()内的值会报错
print(str1.index('b')) ValueError: substring not found先写到这里以后会继续补充的