购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 字符串类型

2.4.1 定义字符串

字符串是由一系列字符组成的序列,在Python中,创建字符串既可以使用单引号(')、也可以使用双引号(")或三引号(''')。其中单引号和双引号都表示单行的字符串,两者作用相同;使用单引号时,双引号可以作为字符串的一部分;使用双引号时,单引号可以作为字符串的一部分;三引号可以表示单行或多行的字符串。以下代码分别使用3种方式创建字符串:

需要注意的是,在Python中,当一个字符串创建完毕后,其值不能够修改,当给一个字符串的一个索引位置赋值时,会产生语法错误。

需要在字符中使用特殊字符时,用反斜杠“\”转义字符,这样当解释器遇到这个转义字符时,会明白这不是字符串结束标记。在Python中转义字符有很多种,常见的如表2-7所示。

表2-7 常见的转义字符

【任务 2-10】 声明两个字符串,第1个字符串的值为We ‘re good friends!,第2个字符串的值为he said: “maybe tomorrow is sunny!”,并输出这两个字符串。

代码说明:

第1行代码——声明一个字符串,并使用转义字符对’进行转义。

第2行代码——声明一个字符串,并对双引号进行转义。

第3~4行代码——输出字符串。

运行程序,输出结果如下:

为了避免对字符串中的转义字符进行转义,可以在字符串前面加上字母r或R表示原始字符串,其中的所有字符都表示原始的含义而不会进行任何转义,常用在文件路径、URL和正则表达式等。

2.4.2 访问字符串

在Python中,字符串中每个字符对应一个编号,即索引位置,该位置从0开始,依次递增1,这个编号称为字符的下标,如图2-3所示,通过下标就可以访问字符串中的每个字符。

图2-3 字符串的访问

在程序中,还可以通过切片操作截取一部分字符串。切片的基本操作形式如下:

上述格式中,start表示截取字符串的开始位置索引,end表示截取字符串的结束位置索引,step截取字符串的步长,默认为1。需要注意的是切片操作返回的字符串中,不包含结束位置索引的字符。

【任务 2-11】 从控制台输入字符串,使用下标访问第3个字符,使用切片操作输出所有的奇数字符以及第4个字符及其以后的所有字符。

代码说明:

第1行代码——输入一个字符串,并将该字符串赋给result。

第2行代码——使用下标的方式输出第3个字符。

第3行代码——使用切片的方式输出所有的奇数字符。

第4行代码——使用切片的方式输出第4个字符及其以后的所有字符。

运行程序,输入字符串“Python Language is Great!”,其输出结果如下:

2.4.3 查找字符串

Python提供了find()和index()两个函数用于检索字符串中是否包含指定子串。find函数在检索的过程中,如果包含子串则返回子串开始位置的索引值,若不包含子串,则返回-1;而对于index()函数,在检索中若包含子串则返回子串开始位置的索引值,否则会抛出异常。以上两个函数的形式如表2-8所示。

表2-8 查找字符串函数

【任务 2-12】 声明一个字符串“I Love Python Language!”,使用find()函数查找Love子串出现的位置,使用index()函数检索是否包含Good子串。

代码说明:

第1行代码——声明一个字符串,并将字符串赋给info变量。

第2~3行代码——使用find()函数检索Love子串出现的位置,并输出。

第4~5行代码——使用index()函数检索Good子串出现的位置,由于原字符串中没有该子串,会抛出异常。

运行程序,其输出结果如下:

2.4.4 统计字符串

Python提供了count()函数用于统计字符串中某个字符出现的次数,可选参数为在字符串中搜索的开始位置与结束位置。该函数主要返回字符在原始字符串中出现的次数,其函数形式如表2-9所示。

表2-9 统计字符串函数

【任务 2-13】 输入一个字符串,统计元音字母(a、e、i、o、u)出现的次数和频率(不区分大小写)。

代码说明:

第1行代码——输入一个字符串,并将字符串赋给s1。

第2行代码——将s1转换为小写字母,并赋给s2。

第3~7行代码——统计各个字母出现的次数。

第8行代码——获得字符串的长度,即字符串中字符的个数。

第9~13行代码——使用print()函数输出相关信息。

运行程序,输入字符串“I Love Python Language!”,其输出结果如下:

2.4.5 字符串替换与拆分

字符串替换就是将字符串中的某个子串用另外一个子串替代,并输出替换后的新的字符串;字符串拆分是将一个字符串按照指定的分隔符分割为多个子串,这些子串会被保存成为列表的形式返回。Python提供了字符串替换和拆分的函数,其函数形式如表2-10所示。

表2-10 字符串替换与拆分函数

【任务 2-14】 有字符串日期“2018-11-12”,编程实现使用“-”分隔符分割日期,并输出分割后的结果。

代码说明:

第1行代码——声明一个日期字符串,并赋给变量date。

第2行代码——声明字符串分割符号。

第3行代码——使用分隔符分割日期,并返回分割结果。

第4行代码——输出字符串分割后的结果。

运行程序,其输出结果如下:

2.4.6 字符串运算

Python中提供了6种字符串运算符,可以使用不同的运算符进行字符串运算,如表2-11所示。其中声明字符串变量m的值为Great,n的值为Python。

表2-11 字符串运算符 2uptUqM1ZCZW4r/HMcttK3wASdGVVkUPqsQroT2ztGeJYuJrR3oyBhDNktwpR8rg

点击中间区域
呼出菜单
上一章
目录
下一章
×