最新消息:

趣学Python|第七课:Python中的字符串和字符数据

Python 少儿编程 1848浏览 0评论
趣学python01

hi,大家晚上好。上一节课我们对Python中的运算符和表达式进行学习与了解。通过上一节课的学习,了解在Python中如何对”对象”执行计算操作, 并且能够通过组合对象和运算符来创建复杂”表达式”。

在本节课中,我们主要对Python中的字符串和字符数据进行学习与了解。

本节课的课程目标如下:

  – 介绍Python的字符串

  – 介绍Python字符串基本用法

  – 介绍Python字符串的内建函数

1

介绍Python的字符串

在编程语言中,字符串就是所谓的”文本内容”;它们是字母、数字、符号的组合。

在Python中,字符串是以单引号双引号三个引号括起来的文字内容. 比如商场中商品名称、每个人的姓名、出生地址等信息都可以用字符型表示的。如下图:

趣学Python|第七课:Python中的字符串和字符数据
趣学Python|第七课:Python中的字符串和字符数据

2

介绍Python字符串基本用法

以下部分重点介绍可用于处理字符串的运算符,方法和函数.

您已经在上节课”Python的操作符和表达式教程”中看到了运算符”+”和”*”应用于数值操作数。这两个运算符也可以应用于字符串。

1. “+”运算符

“+”运算符用于连接字符串。下面用我最喜欢的球员姓名举例。如下所示:

趣学Python|第七课:Python中的字符串和字符数据
趣学Python|第七课:Python中的字符串和字符数据

2. “*”运算符

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

趣学Python|第七课:Python中的字符串和字符数据

3. “in”运算符

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

趣学Python|第七课:Python中的字符串和字符数据

上述示例,首先判断表达式的结果是True还是False。如果是Ture则输出打印”字符H存于变量disp_msg中”,否则输出打印”字符H不存于变量disp_msg中”.

4.  字符串的索引

通常在编程语言中,可以使用数字索引或键值直接访问有序数据集中的各个项目。此过程称为索引。

在Python中,字符串可以通过string[n]的方式访问字符串中的单个字符。

趣学Python|第七课:Python中的字符串和字符数据

以上述变量”str_demo”存储的字符串内容”foobar”为例。

Python中的字符串索引是从零开始的:字符串中的第一个字符具有索引0,下一个字符具有索引1,依此类推。最后一个字符的索引将是字符串的长度减去1。

趣学Python|第七课:Python中的字符串和字符数据

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

趣学Python|第七课:Python中的字符串和字符数据

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

趣学Python|第七课:Python中的字符串和字符数据
趣学Python|第七课:Python中的字符串和字符数据

5. 字符串切片

Python还允许一种索引语法形式,从字符串中提取子字符串,称为字符串切片。

如果s是一个字符串,则形式为s [m:n]的表达式将返回以位置m开头的s部分,但不包括位置n。如下图:

趣学Python|第七课:Python中的字符串和字符数据

上述示例中演示了从字符串”foobar”中截取以索引2开始,到索引5结束的字符串(但不包括索引5对应的字符),即”oba”.

在使用切片时,可以使用省略的写法,如下图:

趣学Python|第七课:Python中的字符串和字符数据

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

趣学Python|第七课:Python中的字符串和字符数据

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

趣学Python|第七课:Python中的字符串和字符数据

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

趣学Python|第七课:Python中的字符串和字符数据

6. 字符串格式化符

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

趣学Python|第七课:Python中的字符串和字符数据

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

趣学Python|第七课:Python中的字符串和字符数据

3

介绍Python字符串的内建函数

Python内置函数(Python’s built-in functions):内置函数都是预编写好的代码功能块,可以直接拿来使用。通过使用这些内置函数,可以很大程度来节省我们开发程序的时间 。

Python中也内置了较为丰富的字符串内置函数,用于字符串的各种操作。大致可分为:转换函数、查找和替换函数、字符串分类函数、字符串格式化函数等。

1. 转换函数

01

s.capitalize()

将字符串的首字符转换为大写,其他字符转换为小写。如下图:

趣学Python|第七课:Python中的字符串和字符数据

02

s.lower()

将字符串中所有字母字符都转换为小写。

趣学Python|第七课:Python中的字符串和字符数据

03

s.swapcase()

将字符串的大小写字母进行翻转。

趣学Python|第七课:Python中的字符串和字符数据

04

s.title()

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

趣学Python|第七课:Python中的字符串和字符数据

05

s.upper()

将字符串中所有字母字符都转换为大写。

趣学Python|第七课:Python中的字符串和字符数据

2. 查找和替换函数

01

s.count(str, beg=0, end=len(string))

返回 str 在 s 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数.

趣学Python|第七课:Python中的字符串和字符数据

02

s.endswith(str, beg=0, end=len(string))

检查字符串是否以 str 结束,如果beg 或者 end 指定则检查指定的范围内是否以 str 结束,如果是,返回 True,否则返回 False.

趣学Python|第七课:Python中的字符串和字符数据

03

s.find(str, beg=0, end=len(string))

检测 str 是否包含在 s 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

趣学Python|第七课:Python中的字符串和字符数据

04

s.index(str, beg=0, end=len(string))

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

趣学Python|第七课:Python中的字符串和字符数据

05

s.rfind(str, beg=0,end=len(string) )

类似于 find()函数,不过是从右边开始查找.

趣学Python|第七课:Python中的字符串和字符数据

06

s.startswith(str, beg=0,end=len(string))

检查字符串是否是以 str 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.

趣学Python|第七课:Python中的字符串和字符数据

3. 字符串分类函数

01

s.isalnum()

如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

趣学Python|第七课:Python中的字符串和字符数据

02

s.isalpha()

如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

趣学Python|第七课:Python中的字符串和字符数据

03

s.isdigit()

如果 string 只包含数字则返回 True 否则返回 False.

趣学Python|第七课:Python中的字符串和字符数据

4. 字符串格式化函数

01

s.center(<width>[, <fill>])

返回一个原字符串使其居中,默认使用空格填充至长度 width 的新字符串。

趣学Python|第七课:Python中的字符串和字符数据

02

s.ljust(<width>[, <fill>])

返回一个原字符串左对齐,默认使用空格填充至长度 width 的新字符串。

趣学Python|第七课:Python中的字符串和字符数据

03

s.lstrip([<chars>])

截掉 string 左边的空格.

趣学Python|第七课:Python中的字符串和字符数据

04

s.replace(<str1>, <str2>[, <num>])

把 s 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.

趣学Python|第七课:Python中的字符串和字符数据

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

您必须 登录 才能发表评论!