友情提示:380元/半年,儿童学编程,就上码丁实验室。
hi,大家晚上好。上一节课我们对Python中的运算符和表达式进行学习与了解。通过上一节课的学习,了解在Python中如何对”对象”执行计算操作, 并且能够通过组合对象和运算符来创建复杂”表达式”。
在本节课中,我们主要对Python中的字符串和字符数据进行学习与了解。
本节课的课程目标如下:
– 介绍Python的字符串
– 介绍Python字符串基本用法
– 介绍Python字符串的内建函数
介绍Python的字符串
在编程语言中,字符串就是所谓的”文本内容”;它们是字母、数字、符号的组合。
在Python中,字符串是以单引号或双引号或三个引号括起来的文字内容. 比如商场中商品名称、每个人的姓名、出生地址等信息都可以用字符型表示的。如下图:


2
介绍Python字符串基本用法
以下部分重点介绍可用于处理字符串的运算符,方法和函数.
您已经在上节课”Python的操作符和表达式教程”中看到了运算符”+”和”*”应用于数值操作数。这两个运算符也可以应用于字符串。
1. “+”运算符
“+”运算符用于连接字符串。下面用我最喜欢的球员姓名举例。如下所示:


2. “*”运算符
“*”运算符创建字符串的多个副本。简单来说就是重复输出指定的字符串内容。如下所示:

3. “in”运算符
Python还提供了可以与字符串一起使用的成员运算符。如果字符串中包含给定的字符返回True(真),如果不包含则返回False(假)。如下所示:

上述示例,首先判断表达式的结果是True还是False。如果是Ture则输出打印”字符H存于变量disp_msg中”,否则输出打印”字符H不存于变量disp_msg中”.
4. 字符串的索引
通常在编程语言中,可以使用数字索引或键值直接访问有序数据集中的各个项目。此过程称为索引。
在Python中,字符串可以通过string[n]的方式访问字符串中的单个字符。

以上述变量”str_demo”存储的字符串内容”foobar”为例。
Python中的字符串索引是从零开始的:字符串中的第一个字符具有索引0,下一个字符具有索引1,依此类推。最后一个字符的索引将是字符串的长度减去1。

如果尝试使用超出字符串末尾的索引会导致错误,如下图:

字符串索引也可以用负数指定,在这种情况下,索引从字符串的结尾开始:-1表示最后一个字符,-2表示倒数第二个字符,依此类推。如下图:


5. 字符串切片
Python还允许一种索引语法形式,从字符串中提取子字符串,称为字符串切片。
如果s是一个字符串,则形式为s [m:n]的表达式将返回以位置m开头的s部分,但不包括位置n。如下图:

上述示例中演示了从字符串”foobar”中截取以索引2开始,到索引5结束的字符串(但不包括索引5对应的字符),即”oba”.
在使用切片时,可以使用省略的写法,如下图:

如果切片中的第一个索引大于或等于第二个索引,则Python返回一个空字符串。如下图:

负索引也可以与切片一起使用。 -1表示最后一个字符,-2表示倒数第二个字符,依此类推。

通过下面示例演示,如何使用正负索引从字符串’foobar’中切割子字符串’oob’。

6. 字符串格式化符
在Python 3.6版中,引入了一种新的字符串格式化机制。此功能正式命名为Formatted String Literal,但更常见的是其昵称f-string。

上述示例中,通过字符拼接的方式输出一长段文字内容,实现方式比较繁琐。通过使用f-string,上面的示例看起来更清晰:

3
介绍Python字符串的内建函数
Python内置函数(Python’s built-in functions):内置函数都是预编写好的代码功能块,可以直接拿来使用。通过使用这些内置函数,可以很大程度来节省我们开发程序的时间 。
Python中也内置了较为丰富的字符串内置函数,用于字符串的各种操作。大致可分为:转换函数、查找和替换函数、字符串分类函数、字符串格式化函数等。
1. 转换函数
s.capitalize()
将字符串的首字符转换为大写,其他字符转换为小写。如下图:

02
s.lower()
将字符串中所有字母字符都转换为小写。

03
s.swapcase()
将字符串的大小写字母进行翻转。

04
s.title()
将一段内容中每个单词的第一个字母转换为大写,其余字母转为小写。

05
s.upper()
将字符串中所有字母字符都转换为大写。

2. 查找和替换函数
s.count(str, beg=0, end=len(string))
返回 str 在 s 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数.

02
s.endswith(str, beg=0, end=len(string))
检查字符串是否以 str 结束,如果beg 或者 end 指定则检查指定的范围内是否以 str 结束,如果是,返回 True,否则返回 False.

03
s.find(str, beg=0, end=len(string))
检测 str 是否包含在 s 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

04
s.index(str, beg=0, end=len(string))
跟find()方法一样,只不过如果str不在 string中会报一个异常.

05
s.rfind(str, beg=0,end=len(string) )
类似于 find()函数,不过是从右边开始查找.

06
s.startswith(str, beg=0,end=len(string))
检查字符串是否是以 str 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.

3. 字符串分类函数
s.isalnum()
如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

02
s.isalpha()
如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

03
s.isdigit()
如果 string 只包含数字则返回 True 否则返回 False.

4. 字符串格式化函数
s.center(<width>[, <fill>])
返回一个原字符串使其居中,默认使用空格填充至长度 width 的新字符串。

02
s.ljust(<width>[, <fill>])
返回一个原字符串左对齐,默认使用空格填充至长度 width 的新字符串。

03
s.lstrip([<chars>])
截掉 string 左边的空格.

04
s.replace(<str1>, <str2>[, <num>])
把 s 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.

以上就是本节课的全部内容,希望大家能够喜欢。