点击蓝字 关注浅韵 一起划水
零、目标
1.了解字符串(string)2.字符串的切片和索引3.print()函数一、什么是字符串?在Python中,字符串是用一对英文引号(单引号/双引号均可)包裹起来的一串字符。
比如之前你见到的'Hello world!'便是一个字符串。
比如说,我们输入几个字符串进去。
这些都没问题的。Python提供了内置函数type()用于查询某个变量的数据类型。数据类型名字后面的英文就是该数据类型所对应的type()函数返回值,()内填写的是你要查看的变量名。接着上面的示例,现在我要查看一下这些变量所保存元素的数据类型。
验证完毕,返回值是str,说明s1和s2都是字符串。注意,一个单个的字符在Python里也是字符串(str),而不是C语言里的字符(char),多个字符的字符串也不是char[],举个例子: 你可能会好奇,这里出现的函数,返回值和class是什么。不要着急,后面会讲到,现在只要会用type()来查看一个变量的数据类型就可以啦。二、如何选取字符串中某一个特定位置的字符?首先要说明的是,Python的字符下标是从0开始的,和咱们日常的认知不一样。咱们平时数数的时候,都是1,2,3,4···这样去数,但是计算机数数是从0开始的,也就是0,1,2,3···这样去数。比如说字符串"Python"吧。 这个字符串的长度为6(因为有六个字符嘛),可是由于计算机是从0开始给字符编号的,所以最大的下标为5。类似地,假设某字符串的长度为n,则最大下标为n-1。现在,将字符串'Python'存入变量s。s = 'Python'
如果需要获取其中某一特定下标元素,使用以下语句就可以完成任务。
s[index]
s是字符串的变量名,index是你要获取的字符的下标。下标用方括号括起来后紧跟字符串变量名。
比如:
注意,如果你给的下标值超出了字符串的下标最大值,则会报错。比如:
String index out of range,你给出的下标越界了,超出了最大的下标。
三、如何选取某几个相连或相隔n个其他字符的字符?Python中的切片语法可以完成这样的事情。
切片语法是这样的:
str[start:end(:step)]
str是字符串变量名,start是起始下标,end是终止下标,step是步长。
需要特别注意的是:[start:end]是从start提取到(end-1),不包含end!如图所示(黄色为选定部分):
step是步长,代表着每次选定字符的跨度,如果不写,那就默认为1。如果步长为2,那么就隔一个字符选定一个字符;如果步长为3,那么就隔两个个字符选定一个字符······以此类推。
比如,当步长为2的时候,以字符串"ABCDEFGHIJKLMN"为例,其长度为14,我们设置start=0,end=14,step=2,即str[0:14:2],那么就会获得这样的结果:
当步长为3的时候,仍然以上述字符串 为例,start和end维持不变,改变 step =3 ,即str[0:14:3 ], 那么就会 获得这样的结果 :简单的切片语法大概就是以上的一部分了。
除此之外,下标还可以为负,代表着倒序索引。
-1代表最后一个元素,-2代表倒数第二个元素,-3代表倒数第三个元素······以此类推。
那么,我们仍然以字符串"ABCDEFGHIJKLMN"为例,谈一谈倒序索引。
需要注意的是,[start:end]仍然是从start提取到(end-1),并且,start要小于end。
例如:str[-9:-2:2],其结果如下:
此外,还可以将正数下标和负数下标混合使用,达到其他目的。
例如:str[2:-3],其结果如下:
四、更多字符串操作1.定义一个字符串
str = "string"str = 'string'
上面两种方法都可以,都是采取“变量名 = 字符串”的方式进行赋值的。需要注意的是,字符串的内容的两侧需要用西文单引号或双引号括起来。
既然字符串旁边的引号两种都可用,我们在引号的选择上就可以灵活一点了。
比如我的字符串里面本身就带有单引号,那么旁边我们可以用双引号括住,这样不会让引号们发生语法上的混淆。例如
str = "P'y't'h'o'n"
仿此,如果字符串里面带有双引号,那么我们可以用单引号括住。例如:
str = 'P"y"t"h"o"n'
但是,如果这个字符串里面既有单引号又有双引号怎么办呢?
2.转义字符
转义字符可以完美解决这一问题。
可是,什么是转义字符?
对于一个给定的字符表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。
而Python的转义字符是一个反斜杠"\"(在你的键盘右上角)。
反斜杠加上某个字符,使这个“二合字符”拥有了别样的含义。
英语的很多字符在Python里面都可以作为语法的结构,比如括号、引号、反斜杠等等。这个时候,我们希望这些“语法的元素”可以作为“字符的元素”去使用,就需要用到转义字符。
下面列举一些常见的转义字符。
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\" | 双引号 |
\' | 单引号 |
\n | 换行符 |
\000 | 空字符 |
续行符可以将超长的语句跨行来写,例如:
这两行代码非常长,看起来很不舒服,我们可以使用续行符,效果如下:
实际上,1-6行是一个语句,8-13行是一个语句。
转义后的单双引号就可以同时出现在字符串里了,例如:
str = "P'y\"t'h\"o'n"
你也许会问:为什么我没有使用单引号的转义字符。
我们可以看到,这个字符串的两边是双引号,单引号与双引号是没办法配对的,可是双引号是可以和双引号配对的。因此,里面的单引号我没有使用转义字符。
如果我们这样写:
str = 'P\'y"t\'h"o\'n'
两边是单引号,那么里面的单引号我就使用了转义字符,而里面的双引号并没有处理。
另外,转义字符的“二合字符”算作一个字符。例如:
len()是什么意思呢?一会儿就会讲到。
3.多行字符
Python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
运行结果如下:
有没有发现什么?
我再写明显一些好了,括号是为了区分外面的三引号和里面的引号。
运行结果如下:
这个里面的引号好像不需要转义字符欸!
4.求一个字符串的长度
len()函数可以获得字符串的长度,返回一个int类型的结果。
括号里面填写具体字符串或字符串变量。
5.利用切片把字符串倒过来
str[::-1]
6.利用切片选取全部元素(两种)
str[::]str[0:len(str)]
五、print()函数的基本用法
print()正如其名,用于把结果打印到屏幕上。
这里的“打印”不是通过打印机去打印,而是把结果显示到屏幕上。
将'Hello World!'输出到屏幕上,只需将这个字符串放进()内,运行即可。
print('Hello World!')
()内也可以放入变量。
s = 'Hello World!'print(s)s = 2print(s)
可爱的小浅韵
微信号 : Lovely_Qianyun