To be a happy man, reading, travel, hard work, care for the body and mind。做一个幸福的人,读书,旅行,努力工作,关心身体和心境。
前面我们讲解过关于用Python写温度转换器,画“Python”,天天学习的代码讲解和数字类型。不知大家是否还记得,忘记的可以点击上面的专辑去里面复习一下哦,也可以敲敲代码,提高对语句的熟练程度。
学完Python后,你会发现Python可以做很多高大上的事情,比如爬虫,数据分析,机器学习,游戏开发等,这些都是建立在Python基础上的,所以想要用好Python,基础知识是一定要打牢的,而字符串又是基础中的重点,所以小编今天准备和大家一起学习字符串的语法知识啦。
首先,小编将字符串分为四大块,分别是字符串类型,字符串操作符,字符串处理函数,字符串处理函数方法。
我们在C语言中曾讲过一些关于字符串的知识,不过C语言和Python的字符串知识相差还是蛮大的,Python提供的功能比C语言感觉会多一点图片图片图片。
这里我们先康康字符串的概念:由0个或多个字符组成的有序字符序列,且由一对单引号或一对双引号表示,比如在输出时:print(“Hello,world”)或者print(‘C’)。
既然字符串是字符的有序序列,那么就可以对其中的字符进行索引,这个索引呢,在之前也是有讲过,在…在那个温度转换器的实例中说过,不过在这里小编给大家带来了一个高级版的切片用法,至于简单的切片用法,emmm,小编就放个链接啦(索引里面也有哦):来学Python啦,用Python详细讲解温度转换器
切片:形式为<字符串>[M:N],M缺失表示至开头,N缺失表示至结尾,如:
”0123456789“[:3]结果为“012”
高级切片多了一个对步长进行切片,形式为<字符串>[M:N:K]。这比以前学的切片多了一个变量,即K。意思是说从M开始,到N个中,以步长为K来对字符进行输出,如:
"0123456789"[::-1]结果为"987654321"
关于单双引号的问题,就要提到字符串的表示方法,有几种表示方法,如上面说到的单双引号,可能会有人问如果要打印双引号或者单引号呢,我们可以用对应的单引号或者双引号来处理,如:print(‘这里有个双引号""’),大家也可以多试试,毕竟真的想要学好编程,不敲个几万行代码怎能学会(小编不贩卖焦虑)。
关于字符串表示Python还提供了一个功能(逆序),这是在C语言中没有的,以至于在C语言中还得弄几行代码来完成它。逆序的简单表示方法:
"0123456789"[::-1]结果为"987654321"
最后还有一个转义字符\,它作用便是表达特定字符的本意,如"则表示双引号。当然\还有其它的作用,如\b表示回退,在下面代码实例中,输出时行字会消失,因为在输出打印时光标会回退一位,即后面的字符掩盖了前面一位的字符。
print('此行\b“行”会消失')
关于字符串操作符,这里介绍三个比较常用的操作符:
**x+y:**连接两个字符串x和y。这个连接方法在有些地方并不太适合,怎么说呢,比如在写爬虫时连接url和某些字符串时,我们通常用的是urljoin来连接。
**nx或xn:**复制n次字符串x(n为数字),在平时也很少用到。
**x in s:**如果x是s的字串,返回True,否则返回False(in是保留字)判断x是否在s中。
既然是字符串处理函数,那么这里小编为大家整理了常用的六个函数,不造大家是否会觉得在开始学Python时接触的函数比较多,然后给人一种很难的感觉,其实并不是,函数往往是包含了很多功能,这样在写起代码来会简洁很多。
在这六个函数中我们用得最多的应该就是len(x)函数了,它返回的是字符串的长度,值得注意的是字母,数字和标点符号等都属于字符串中的一部分。如len(“1234”)结果为4。
其次便是str(x),它返回的是x所对应的字符串形式,无论是什么类型,都会返回成字符串形式,这么看来它是和eval函数相反的。如:str(1.23)结果为“1.23”。
Python还提供了进制转换函数,可以将整数转换为十六进制或八进制。它所提供的是hex(x)和oct(x)两个函数,分别对应的是十六进制和八进制的转换。如:hex(425)的结果为“0x1a9”,oct(425)结果为“0o651”。
还有两个函数不怎么经常用到,是关于Unicode编码的,分别是:
chr(u):u为Unicode编码,返回其对应的字符
ord(x):x为字符,返回其对应的Unicode编码
关于Unicode编码小编也没仔细去研究,知道怎么用就行。不过听说关于编码的字符还蛮多的,十二星座的小图标都有哦。
了解了字符串处理函数,我们得趁热打铁熟悉熟悉字符串处理函数的八个方法,它们在平时用到的次数也是相当多的,也非常好用,不得不说Python的函数库真的多。
1.str.lower:返回字符串的副本,打印字符的小写形式。如:
print("ABCDEFG".lower())结果为abcdefg
2.str.upper:返回字符串的副本,打印字符的大写形式。和上面是相反的,如:
print("abcdefg" .upper())结果为ABCDEFG
3.str.split(sep=None):返回一个列表,由str根据sep被分隔的部分组成。这个函数小编倒是折腾了一下,因为一开始没看明白,不过多试几次代码找不同点就很容易理解了。如:
print("A1B1C".split("1"))
print("A,B,C".split(","))
它们的输出结果是一样的:
4.str.count(sub):返回字串sub在str中出现的次数,效果还蛮强,感觉平时用的机会不多。如:
"an apple a day".count("a")#结果为4
5.str.replace(old,new):返回字符串str副本,所有old字串被替换为new。简单来说,就是字符串的替换过程。如:
"Python".replace("n","n123.io")#结果为"Python123.io"
6.str.center(width[,fillchar]):字符串str根据宽度width居中,fillchar可选,这在项目中写主题时就很好用了,用函数居中可谓是方便了不少。如:
"Python".center(20,"=")结果为'=======Python======='
7.str.strip(chars):从str去掉在其左侧和右侧chars中列出的字符。如:
"=python=".strip("=np")#结果为"ytho"
8.str.join(iter):在iter变量除最后元素外每个元素后增加一个str.用于字符串分隔,如:
",".join("12345")#结果为"1,2,3,4,5"