Python 基础|字符串索引切片、格式化与运算符学习笔记
切换到 CSDN Markdown 编辑器,复制下面全部内容粘贴即可,代码会自动渲染,主体是文字笔记。
最近在上 Python 基础课程,本次学习重点是字符串索引切片、三种字符串格式化写法以及常用运算符。我把课堂知识点、代码练习和踩坑经验整理成这篇学习笔记,方便后续复习回顾。
一、字符串索引与切片
在 Python 中,字符串属于序列类型,我们可以使用索引取出字符串里面单个字符。索引分为正向索引和反向索引:正向索引从 0 开始,从字符串的第一个字符向后计数;反向索引使用负数,从字符串末尾向前计数。
切片是字符串很常用的操作,语法格式为[start:end:step]。这里有一条核心规则:取起始位置 start 的字符,不包含结束位置 end,也就是大家常说的 “顾头不顾尾”;step 代表步长,用来控制读取字符的间隔。
课堂示例以字符串海洋垃圾分析智能体演示索引和切片。使用正向索引agent_name[4]、反向索引agent_name[-5]都可以取到同一个字符。切片时,如果步长为正数,读取方向是从左向右;步长为负数时,读取方向从右向左。
这里有一个容易踩坑的点:当步长为负数时,起始索引的位置必须在结束索引的右侧,如果起始位置在左边,切片执行之后会得到空字符串。
二、字符串格式化的三种方式
开发中经常需要把变量和文字拼接在一起输出,Python 一共提供了三种字符串格式化方案,分别是 % 占位符、format () 方法以及 f-string。其中 f-string 是 Python3.6 版本之后新增的语法,可读性最强,也是目前最推荐的写法。
第一种是老式的%占位符写法,使用%s作为通用占位符,在字符串后面使用% (变量1,变量2)把变量依次填充到占位位置。这种写法是早期 Python 的格式化方案,现在新项目很少使用,但是阅读旧代码时会遇到。
第二种是format()方法,在字符串中使用大括号{}作为占位坑位,调用.format(),按顺序传入变量填充到大括号内。相比 % 占位符,它的灵活性更高。
第三种 f-string,在字符串引号前面添加字母f,可以直接在大括号{}内部写变量名称,甚至可以直接写入运算表达式,代码简洁直观。
课堂练习要求格式化输出10+20=30。我们可以分别用三种格式化方法实现,在大括号或者占位符的位置,直接填入变量,表达式first_num+second_num会自动计算结果并展示。通过这个练习,能够直观感受到三种写法的区别。
三、运算符
1. 算术运算符
算术运算符就是我们熟悉的加减乘除,用来完成数字之间的数学计算。示例中定义两个变量 first_num=10、second_num=20,使用加法运算符+,计算两个数字相加的结果。除了加法之外,还有减法-、乘法*、除法/、取整除//、取余%、幂运算**等算术运算符。
2. 复合赋值运算符
复合赋值运算符属于简写语法,包含+=、-=、*=、/=等。以+=举例,third_num += 1000等价于third_num = third_num + 1000。
执行逻辑:先拿变量当前的值,和后面数字完成运算,运算结束之后,再把结果重新赋值给这个变量。示例初始 third_num=1000,执行third_num +=1000之后,变量的值更新为 2000。