1.1什么是字符串

字符串是一种表示文本的数据类型,字符串的字符可以是ASCII字符、各种符号以及各种Unicode字符。Python中的字符串有如下三种表示方式。

第1种:使用单引号包含字符。



'a'



注意,单引号表示的字符串里不能包含单引号,如'let's go'。

第二种:使用双引号包含字符。



"a"



注意,双引号表示的字符串里不能包含双引号,并且只能有一行。

第三种:使用三引号(三对单引号或者三对双引号)包含字符。



"""



或者



'''



需要注意的是,三引号能包含多行字符串,并且常常出现在函数声明的下一行,用来注释函数的功能。与众不同的地方在于,这个注释作为函数的一个默认属性,可以通过“函数名._doc__”进行访问。

就像C语言一样,字符串的第一个字符的索引为0,没有单独的字符类型,一个字符就是长度为一的字符串。但于C语言的字符串不同的是,Python字符串不能被改变。想向一个索引位置赋值,例如,word[0] = 'm'会导致错误。

1.2转义字符

其实,不管使用单引号还是双引号,输出字符串时,值都是一样的。至于为什么使用两种来表示是因为某些情况下,他们会派上用场,例如。



"let's go!"



上面的代码中,第1行代码的字符串内容中有单引号,所以要使用双引号包含。第2行代码中的字符串内容中有双引号,所以要用单引号包含。如果不这么做,当解释器在根据单引号或双引号辨别字符串结束符时,难免会发生错误。例如下面的代码就会报错。



>>>



当人,对于单引号或者双引号这些特殊的符号,我们可以对他们进行转义。例如,对字符串中的单引号进行转义,示例代码如下:



>>>



上述代码中,使用斜线的方式,对单引号进行了转义,当解释器遇到这个转义字符时会明白这不是字符串结束标记。而像这样的转义符号有很多种,如下表。




python的输入如何结束 python怎么结束输入_VBS中字符串下标访问某个字符


如果你不想使用反斜杠()转义字符,可以在字符串前面添加一个r,表示原始字符串,示例代码如下:


>>>


2.字符串的输入和输出

2.1字符串输出

Python支持字符串格式化的输出,尽管这样可能会用到非常复杂的表达式,但u最基本的用法就是将一个值插入到一个有字符串格式%s的字符串中,例如下面代码:


name


在程序中%s这样的操作符,就是Python中字符串的格式化符号。

除此之外,还可以使用%符号对其它类型的数据进行格式化,常见的格式化符号有如表形式:


python的输入如何结束 python怎么结束输入_字符串的切片操作与连接_02


接下来我们通过打印一个名片的案例来练习字符串的输出。


name


运行结果:


python的输入如何结束 python怎么结束输入_VBS中字符串下标访问某个字符_03


2.2字符串的输入

Python 3提供了input函数从标准输入读取一行文字,默认的标准输入是键盘。input函数可以接受一个Python表达式作为输入,并将运算结果返回。示例代码如下:


username


上述代码中,input函数接收的输入会直接赋值给等号左边的变量username。

需要注意的是,input函数获取的数据,即使是数字,也是以字符串的方式进行保存的。

接下来,通过一个案例来演示输入用户的登陆信息。


userName


运行结果:


python的输入如何结束 python怎么结束输入_字符串的切片操作与连接_04


3.访问字符串中的值

3.1字符串的储存方式

如果你希望访问字符串中的值,与要用下标来实现。例如,字符串name = "abcdef",在内存中的储存方式如下图所示。


python的输入如何结束 python怎么结束输入_python输入结束_05


每个字符都对应一个编号,并且编号是从0开始的,这些编号就代表下标。如果想从字符串中去出部分字符,可以通过下标获取。例如,取除字符d,他对应的下标是3,所以用name[3]取出来。

3.2使用切片截取字符串

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。切片的语法格式如下:

[起始:结束:步长]

需注意的是,切片选区属于左闭右开型,即从“起始”位开始,到“结束”位的前一位结束(不包含结束位本身)。接下来,通过一个案例来演示如何使用切片截取字符串name = "abcdef"。


name


运行结果:


python的输入如何结束 python怎么结束输入_python的输入如何结束_06


4.字符串内建函数

字符串作为最常用的一种数据类型,它提供了很多内建函数,列举一些字符串常见的内建函数。

4.1 find

find函数用于检测字符串中是否包含子字符串sub,如果指定start(开始)和end(结束)范围,则检测是否包含在指定范围内。如果包含子字符串则返回开始的索引值,否则返回-1。


str


sub:指定检索的字符串。

start:开始索引,默认为0。

end:结束索引,默认为字符串的长度。

例如,查找“Python”是否在字符串mystr中。


mystr


运行结果:


python的输入如何结束 python怎么结束输入_字符串_07


例如,查找"long"是否在字符串mystr中。


mystr


运行结果:


python的输入如何结束 python怎么结束输入_python输入结束_08


4.2 index

跟find()方法一样,只不过如果str不在 mystr中会报一个异常。


str


index函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_python的输入如何结束_09


4.3 count

count函数用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置,该方法返回子字符串在字符串出现的次数。


str


count函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_python的输入如何结束_10


4.4 replace

replace函数把字符串中的old(旧字符串)替换成new(新字符串),方法返回的是字符串中的old(旧字符串)替换成new(新字符串)后生成的新字符串。如果指定第三个函数count,则替换不超过count次。


str


replace函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_python的输入如何结束_11


4.5 split

split函数通过指定分隔符对字符串进行切片,如果参数maxsplit有指定值,则仅分割maxsplit个子字符串,该方法的返回值是分割后的字符串列表。


str


split函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_字符串的切片操作与连接_12


4.6 capitalize

capitalize函数用于将字符串的第一个字母变成大写,其他字母变小写,该方法返回第一个字母大写的字符串。


str


capitalize函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_字符串的切片操作与连接_13


4.7 title

title函数返回“标题化”的字符串,也就是说所有的单词都是以大写开始,其余字母均为小写。


str


title函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_python的输入如何结束_14


4.8 startswith

startswith函数用于检查字符串是否以制定子字符串开头,如果是,则返回Ture,否则返回False。如果参数start和end指定值,则在指定范围内检查。


str


prefix:检测的字符串。

stratswith函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_python输入结束_15


4.9 endswith

endswith函数用于检查字符串是否以制定子字符串结尾,如果是,则返回Ture,否则返回False。如果参数start和end指定值,则在指定范围内检查。


str


endswith函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_python输入结束_16


4.10 lower

lower函数将字符串中的大写字母转为小写字母,返回大写字母转为小写字母的字符串。


str


lower函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_VBS中字符串下标访问某个字符_17


4.11 upper

upper函数将字符串中的小写字母转为大写字母,返回小写字母转为大写字母的字符串。


str


upper函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_python输入结束_18


4.12 ljust

ljust函数返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串,则返回原字符串。


str


width:指定字符串长度。

fillchar:填充字符,默认为空格。

ljust函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_python的输入如何结束_19


4.13 rjusr

rjust函数返回一个原字符串右对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串,则返回原字符串。


str


rjust函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_python输入结束_20


4.14 center

center函数返回一个宽度为width,原字符串居中,以fillchar(默认为空格)填充左右两边的字符串。


str


center函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_字符串的切片操作与连接_21


4.15 lstrip

lstrip函数用于截掉字符串左边的空格或指定字符,返回的是一个新字符串。


str


chars:指定截取的字符。

lstrip函数的使用:


mystr1


运行结果:


python的输入如何结束 python怎么结束输入_VBS中字符串下标访问某个字符_22


4.16 rstrip

rstrip函数用于截掉字符串右边的空格或指定字符,返回的是一个新字符串。


str


rstrip函数的使用:


mystr1


运行结果:


python的输入如何结束 python怎么结束输入_VBS中字符串下标访问某个字符_22


4.17 strip

strip函数用于移除字符串头尾指定的字符(默认为空格)。


str


rstrip函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_python的输入如何结束_24


4.18 partition

partition函数把字符串以指定字符分割成三部分,指定字符前,指定字符和指定字符后。


mystr


partition函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_python的输入如何结束_25


4.19 splitlines

splitlines函数把字符串按照行分隔,返回一个包含各行作为元素的列表。


mystr


splitlines函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_字符串的切片操作与连接_26


4.20 isalpha

如果字符串中所有字符都是字母,则返回 True,否则返回 False。


mystr


isalpha函数的使用:


mystr1


运行结果:


python的输入如何结束 python怎么结束输入_python的输入如何结束_27


4.21 isdigit

如果字符串中所有字符都是数字,则返回 True,否则返回 False。


mystr


isdigit函数的使用:


mystr1


运行结果:


python的输入如何结束 python怎么结束输入_字符串的切片操作与连接_28


4.22 isalnum

如果字符串中所有字符都是数字或字母,则返回 True,否则返回 False。


mystr


isalnum函数的使用:


mystr1


运行结果:


python的输入如何结束 python怎么结束输入_python输入结束_29


4.23 isspace

如果字符串中所有字符都是空格,则返回 True,否则返回 False。


mystr


isspace函数的使用:


mystr1


运行结果:


python的输入如何结束 python怎么结束输入_字符串_30


4.24 join

join函数在字符串中每个字符后面插入指定字符,构造出一个新的字符串,返回的是一个新字符串。


str


join函数的使用:


mystr


运行结果:


python的输入如何结束 python怎么结束输入_VBS中字符串下标访问某个字符_31


5.字符串运算符

我们使用%运算符来格式化输出字符串。其实,除此之外,还有一些字符串运算符。下面列举一些常见的字符串运算符。


python的输入如何结束 python怎么结束输入_python的输入如何结束_32


接下来,通过一个案例来演示这些运算符在字符串中的使用。


#定义两个字符串


运行结果:


python的输入如何结束 python怎么结束输入_字符串的切片操作与连接_33


6.小结

对字符串进行了解释,介绍了什么是字符串以及对特殊字符的转义;接着介绍了字符串的格式化输入输出、字符串的访问;最后介绍了字符串的内建函数以及字符串运算符。希望大家可以结合案例多加练习,熟练掌握字符串操作的相关函数。

人生苦短,我用Python。

Life is short, use Python.