python中的字符串介绍
字符串是Python中最常用的数据类型之一,字符串看起来简单,但可以用很多不同的方式使用。
Python中用引号括起来的都是字符串,包括 ’ 和 "
"This is a string"
'This is also a string'
#你以为字符串只能是一行,请往下look :
"""这是
多多
多
行字符串"""
'''这也是
多多
多
行字符串'''
当然,你也可以将两个字符串通过+来将它们连接起来:
name = "hello," + "tom"
print(name) #hello,tom
你会发现hello,tom的首字母都没有大写,这不行,你可以使用字符串的.title()方法将一个字符串中所有单词的首字母大写,title这个单词是不是很形象:
name = "hello," + "tom"
print(name.title()) #Hello,Tom
你说:不行,我要字符串单词全部大写,好,满足你,使用字符串的.upper()方法就行了,另外在送了一个.lower()方法,他是将字符串的所有单词都小写,是不是很划算:
s = "aAa" #这个aAa像不像你刚学Python的表情
print(s.upper()) #AAA
print(s.lower()) #aaa
给你出一道题:
a = ' 111 '
b = '111'
请问a和b一样吗?让python来告诉你吧:
#python请告诉我他们一样吗?
a = ' 111 '
c = '111'
print("a和c一样") if a == c else print("这a和b能一样吗?就像开美颜的women能和开美颜的woman能一样吗?b明显瘦了!")
打开你的编辑器,将上面的代码ctrl+c ctrl+v 上去,Python就会告诉你了。或者打开小娜,问她开美颜和不开美颜一样吗?
言归正传,我们给a也来个.strip()“瘦face”,再看看他们一样吗:
a = ' 111 '
c = '111'
print(a.strip() == c) #True
现在她们一样了! .strip()方法能去掉字符串两端的空格(瘦全脸)。另外,lstrip()能瘦左脸(left strip)(去掉字符串左端的空格),rstrip()能瘦右脸(right left)(去掉字符串右边的空格),看一下实例:
a = ' 111 '
print("打开美颜")
print("瘦左脸")
print(a.lstrip(), end="已瘦左脸")
print("瘦右脸")
print(a.rsplit(), end="已瘦右脸")
现在给你出一道填空题,请看题:
请问下面这段代码会输出什么:
A:那狗,那山,那人。
B:那狗那山那人
C:那山,那人,那狗。
a = "那山"
b = "那人"
c = "那狗"
print(f"{a},{b},{c}。")
答案是D,C答案是英文逗号,我知道你答错了,我又没告诉你在ABC中选。
你可能会发现你ctrl+c过去运行出错,对,这是f字符串,是在Python3.6中引入的。
在低于3.6的版本中你可以这样(使用format)也能达到同样的效果:
a = "那山"
b = "那人"
c = "那狗"
d = "{},{},{}。"
print(d.format(a,b,c)) #那山,那人,那狗。
还可以这样:
a = "那山"
b = "那人"
c = "那狗"
d = "{2},{0},{1}。"
print(d.format(b,c,a)) #2对应a,0对应b,1对应c #那山,那人,那狗
聪明的你发现其中的规律了吧(一个萝卜一个坑)。
接下来深入介绍字符串。
首先,大家要将字符串理解成数组,下标从0开始。
街道上有下面这些人和动物和物体:
street = "猫 狗 小明 小偷 小红 车 蚂蚁"
我们可以用len(street)来获得字符串的长度:
street = "猫 狗 小明 小偷 小红 车 蚂蚁"
print(len(street)) #17
你发现街上有“小偷",你可以用如下方法抓到他:
street = "猫 狗 小明 小偷 小红 车 蚂蚁"
print(street[7:9]) #小偷
print(street[-10:-8]) #小偷
“小偷”这个字符串在street字符串中正数(第一个字符的下标为0)第7个字符到第8个字符,所有street[7:9]返回的是整数的第7,8个字符(不包括9)。至于-8和-10,则是倒着数(倒数第一个的下标为-1)的,从右往左依次递减,和正着数一样,也不包括左边的值(-8),你对着上面数一下就明白了。
接下来然我们来了解更多的字符串常用方法:
你可以用.find()来得到”小偷“这个字符串第一次出现的位置(下标):
street = "猫 狗 小明 小偷 小红 车 蚂蚁"
print(street.find("小偷")) #7
你也可以用.index()来得到"小偷"这个字符串第一次出现在street这个字符串的位置:
street = "猫 狗 小明 小偷 小红 车 蚂蚁"
print(street.index("小偷")) #7
结果一样,但是.index()和.find()的不同点在于:如果要找的字符串不在目标字符串中,即如果在street中不存在"小偷"这个字符串,.fond()会返回-1,而.index()会报错。
如果你想看看street中有多少"小偷",你可以使用count()方法:
street = "猫 狗 小明 小偷 小红 车 蚂蚁"
print(street.count("小偷")) #1
.count()方法会返回你要查找的字符串在目标字符串中出现的次数。
好了,Python中字符串的常用知识就是这么多了,其实Python这字符串还有许多不常用的方法,大家有兴趣的话可以查阅Python的文档进行查看,谢谢你的阅读!