Python入门到精通(5):字符串操作

重点学习字符串的赋值、输出、转换、拼接、判断等运算。

计算机除了处理数值数据,还要处理字符数据。Python语言提供了一种字符串数据类型,用于字符数据。本课介绍Python中的字符串,文中会讨论字符串的创建、赋值及其相关运算。通过本课的学习,能够掌握字符串创建及其相关运算。

 1、认识字符串

字符串是有限个字符的有序集合。对汉语来说一个字符就是一个汉字,对英语来说一个字符就是一个英文字母。我们使用的计算机键盘上的所有按键都是字符,有英文字母字符,有数字字符,还有一些特殊符号(如@%#&等),这些字符的组合组成了字符串。

在Python中,要求字符串必须用单引号’’、或者双引号””、或者三引号’’’引起来。引号必须是英文引号,不能是中文引号。下图给出了一些合法的Python字符串示例。

01.png

2、  输出字符串

如果要输出字符串到Shell窗口,可以使用print函数来输出字符串。

02.png

03.png

3、  字符串赋值给变量

字符串也可以直接赋值给变量,此时变量存储的内容是字符串,使用print函数输出该变量,输出的内容也是字符串。

04.png

字符串赋值给变量和数值赋值给变量的语法是相同的,不同的是字符串必须用引号引起来,否则Shell窗口会给出语法错误信息。

05.png

字符串忘记使用引号引起来时,Shell窗口会把字符串作为变量名称,因此会给出NameError错误。

4、字符串与数值的转换

数字型的字符串和数值之间可以互相转换,数字型的字符串是指字符串中所有字符除了小数点字符外,其它字符都是数字字符,不能包含其它字符。

Python提供了int函数、float函数、str函数完成字符串与数值之间的转换。

int函数

int是integer的缩写,integer中文释义是整数。因此从函数名称就可推断int函数的功能,该函数可以把小数进行取整并转换为整数,也可以把数字型的字符串转换为整数。

06.png

在上图的转换案例中,使用int函数转换字符串“A30”会报错,因为字符串“A30”包含了数字字符以外的其它字符。

int函数也支持对变量进行类型转换。

07.png

 

int函数可以把字符串类型的变量转换为整数类型的变量,前提是字符串的所有字符都是数字型字符。例如变量num2包含英文字母字符,使用int函数就会转换失败。

float函数

float函数可以把数字型的字符串或整数转换为小数,小数在Python也称为浮点数,因为计算机存储小数时,小数位置不是固定的,而是浮动的。

float函数的用法和int函数的用法相同。

08.png

str函数

str是string的缩写,string的中文意思是一串,在编程语言中表示为字符串。因此从函数名称就可推断str函数的功能,该函数可以把数值及数值类型的变量转换为字符串。

09.png

5、  字符串的拼接

拼接就是连接在一起,字符串的拼接就是把两个或多个字符串连接在一起,形成一个字符串。

10.png

Python的算术运算符“+”可以将两个字符串或字符串类型的变量连接为一个字符串,“+”运算符既可以完成两个数值的和运算,也可以完成两个字符串的拼接操作。

12.png

Python的算术运算符“+”可以将两个字符串或字符串类型的变量连接为一个字符串,“+”运算符既可以完成两个数值的和运算,也可以完成两个字符串的拼接操作。

13.png

多个字符串类型的变量也可以通过“+”运算符拼接在一起,形成一个字符串。案例03首先创建了str1和str2两个字符串类型变量,并分别赋值“Python”和“编程”,然后使用“+”运算符将str1和str2拼接成一个字符串,并赋值给str3变量。

14.png

字符串类型的变量可以和字符串混合拼接。案例4演示了变量str1和“编程”通过“+”运算符拼接为一个字符串,并通过print函数输出到Shell窗口。

6、 字符串的访问

Python提供了访问运算符“[ ]”,可以用来访问字符串的单个字符或多个字符。例如案例5的代码可以输出字符串的第一个字符。

15.png

在案例5中,a1[0]是访问a1字符串的第一个字符,访问运算符“[ ]”里面的0是a1字符串的索引值。

索引是一个整数序号,索引从0开始,索引的长度是字符串的长度,通过索引序号,我们可以定位字符串的任意一个字符。

16.png

上图中字符串a的值是“think”,a的索引序号是从0开始到4结束。关于索引序号的范围,同学们可能会有点困惑,字符串“think”共有5个字符,索引范围应该是0至5,为什么是0至4呢?这是因为索引序号是从0开始的,从0数到4正好是5个字符。

案例6的代码分别输出a2字符串的“P”、“t”、“n”字符。

17.png

现在我们已经学会了使用访问运算符“[ ]”访问字符串的任意一个字符。但在一些情况下,可能需要访问字符串的一个子串,子串就是字符串中一组任意连续的字符。

18.png

要访问字符串的子串,可以使用访问运算符“[:]”,该运算符在一对中括号里有一个英文符号“:”,用于标识子串的起始索引和终止索引,在“:”左侧是子串的起始索引,在“:”右侧是子串的终止索引。该运算符访问包括起始索引在内到终止索引(不包括终止索引)的所有字符。

19.png

例如:a1字符串的值是“Hello World!”,现在需要访问子串“World”,该如何处理呢?

要访问a1字符串的子串“World”,可以编写下面的代码:

a1[6:11]

其中“:”左侧的数字6是字符“W”在a1字符串的索引序号,“:”右侧的数字11是字符“d”在a1字符串的索引序号加1,由于终止索引不包含在截取的子串内,因此字符“d”的索引序号需要加上1。a1[6:11]将会截取a1字符串中起始索引为6,终止索引为11的子串。

20.png

7、  子串的判断

字符串还有一种比较重要的操作就是判断一个子串是否在已知的字符串中。

例如:

s1 = “张明,赵虎,马汉,李云龙,王义”

字符串s1的值包含了5位同学的名称,现在要求判断子串“赵虎”是否在s1中。

21.png

要判断一个子串是否在已知的字符串中, 可以使用成员运算符“in”和“not in”来判断。成员操作符“in”和“not in”用于判断一个子串是否包含或不包含在已知的字符串中,若包含返回True,否则返回False。

22.png

23.png

运算符“in”用于判断一个子串是否包含在已知字符串中。前面要求判断字符串“赵虎”是否在s1中,实现代码如下:

26.png

在案例08的代码中,语句:

"赵虎" in s1

使用了成员运算符“in”,运算结果是布尔型。用于判断运算符左边的字符串,是否包含在运算符右边的字符串中,如果子串包含在字符串中,运算结果返回True,否则返回False。

运算符“not in”用于判断一个子串是否不包含在已知的字符串中。前面的代码也可以用成员运算符“not in”来实现:

27.png

8、  字符串相等判断

判断两个字符串的内容是否相同,在编程中也非常有用。使用关系运算符“==”可以判断两个字符串的内容是否相同。

28.png

在上图的关系表达式中,如果字符串1和字符串2的内容相同,该关系表达式返回True,否则返回False。

29.png

在案例10中,因为s1和s2的内容不相同,因此在Shell窗口会输出False。

9、  上机操作

1、在Shell窗口创建两个变量a1和a2,a1用字符串赋值,a2用整数赋值,计算a1和a2的和,并把计算结果输出到Shell窗口。

2、已知字符串:

s1 = “我要学习Python编程”

s2 = “学习编程需要数学知识吗?”

请按下面的要求编写程序:

(1)拼接s1和s2,并用print函数输出拼接后的新字符串;

(2)用print函数输出s1的子串“Python”;

(3)判断子串“编程”是否在s1中。

 

-----------------------------------------------------------------------------------------------

编程训练营APP

创新在线学习模式,学习编程不再半途而废

安卓手机应用商店搜索编程训练营下载

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值