python笔记03字符串及其主要使用方法
先声明一下
各位大佬,这是我的笔记。
如有错误,恳请指正。
另外,感谢您的观看,谢谢啦!
##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’都能被打印出来
2.字符串的剪切以及索引
###(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
(3).字符串的部分库函数
字符串(str)的库函数有很多这里就简单讲几个常用的。
print(str1.find('i'))
print(str1.find('b'))
0
-1
find是寻找()内的字符,把它第一次出现的索引值返回回来
当()内的字符不存在于要找的字符串中会返回‘-1’
print(str1.index('i'))
print(str1.index('b'))
index与find差不多,但是不同之处在于没找到()内的值会报错
print(str1.index('b'))
ValueError: substring not found
先写到这里以后会继续补充的