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的文档进行查看,谢谢你的阅读!