078_字符串类型_str_string_下标运算符_中括号
回忆上次内容
-
上次 了解 的是
-
整型变量
-
integer
-
本质上是 二进制形式 直接存储的 数字
-
两个不同类型的变量
-
i_age
-
整型的 年龄变量
-
其中i 代表 int 整数
-
s_age
-
字符串型的 年龄变量
-
其中s 代表 string 字符串
添加图片注释,不超过 140 字(可选)
-
整型 和 字符串
-
输出 到屏幕上区别
-
这两个类型 区别在哪呢??🤔
运算逻辑
-
最大的不同就是
-
运算的逻辑
-
比如加法
类型 | 逻辑 | 英文 |
---|---|---|
整数加 | 数值 相加 | add |
字符串加 | 拼接 | cancatenate |
添加图片注释,不超过 140 字(可选)
-
整型数字
-
类型 诞生的目的
-
就是 进行 运算、比较
-
字符串变量
-
诞生的目的 就是
-
为了字符串查找、匹配、显示之类的目的
-
可以用字符串给变量赋值吗?
用变量赋值
添加图片注释,不超过 140 字(可选)
-
还是选择
-
渲染 堆上的 所有变量
-
render all objects on the heap
s1 = "oeasy" s2 = "o2z" print(id(s1), id(s2)) s2 = s1 print(id(s1), id(s2))
添加图片注释,不超过 140 字(可选)
-
字符串英文怎么说来着?
字符串
-
s 的类型 是str
添加图片注释,不超过 140 字(可选)
-
str 是 string 的缩写
添加图片注释,不超过 140 字(可选)
string
-
string 意思是
-
绳子
-
或者琴弦
-
后来也指
-
用绳子把东西串起来
添加图片注释,不超过 140 字(可选)
-
比如把 什么东西 串起来 呢?
糖葫芦串
-
山楂 串起来 形成的
-
就是糖葫芦串
添加图片注释,不超过 140 字(可选)
-
类似的还有
-
羊肉串
-
土豆串
-
鱼豆腐串
-
字符串
字符串
-
把一个个字符串起来
-
就是 字符的串
-
字符串
-
str
添加图片注释,不超过 140 字(可选)
-
字符是 怎么
-
存进计算机的 呢?
回忆
-
字符是 将序号
-
保存为二进制形式
-
存在 计算机中的
添加图片注释,不超过 140 字(可选)
-
字符 存在 字节里
-
又是 怎么穿成串的呢?
字符串
-
字符串
-
里面 各个山楂 挨着
-
一个山楂 就是 一个字符
添加图片注释,不超过 140 字(可选)
-
字符串长度怎么算??🤔
问ai
添加图片注释,不超过 140 字(可选)
长度
-
可以使用函数len
len("oeasy")
-
字符串有几个字符
-
字符串就有多长
添加图片注释,不超过 140 字(可选)
-
帮助怎么说呢?
求助帮助
-
查查这个len的帮助
help(len)
-
len
-
length
添加图片注释,不超过 140 字(可选)
-
返回容器中物品的个数
手串长度
-
这就是
-
一串金刚菩提
-
代表断除一百零八种烦恼
-
长度就是108
添加图片注释,不超过 140 字(可选)
-
最终
-
证得一百零八种无量三昧
-
三摩地(Samādhi)
-
"oeasy"
-
总共 5 个字符
-
可以逐一访问吗?🤔
下标
-
字符可以用 下标运算符[]进行访问
-
将 序号n 放入中括号里
-
就得到第n个字符
添加图片注释,不超过 140 字(可选)
-
特别注意❗❗❗
-
下标不是从 1 开始的
-
而是从 0 开始的
从零开始
-
这样就可以用序号
-
访问到字符串中的每个字符
添加图片注释,不超过 140 字(可选)
-
可以把这个对应关系写清楚吗?
添加图片注释,不超过 140 字(可选)
写清楚
-
每行分成3部分
-
固定结构
-
有三块 均为 蓝色
-
变化部分有两块
-
红色 自增的数值 从0到4
-
绿色 通过数值 索引得到的 字符
添加图片注释,不超过 140 字(可选)
-
<span style="color:blue;">s[</span><span style="color:red;">num</span><span style="color:blue;">] = '</span><span style="color:green;">s[num]</span><span style="color:blue;">'</span>
-
尝试自己拼合一下
结果
for num in range(len(s)): print("s[", num, "] = '", s[num],"'",sep="")
-
运行效果
添加图片注释,不超过 140 字(可选)
-
如果交给ai怎么做?
-
不要翻页
-
自己试试
ai
添加图片注释,不超过 140 字(可选)
-
目标格式不符合要求
主动要求格式
添加图片注释,不超过 140 字(可选)
-
通过fstring
-
效果达成
下标范围
-
下标从 0 开始
-
最后一位是 len(o)-1
-
也就是 5-1 = 4
添加图片注释,不超过 140 字(可选)
-
如果我就想
-
访问 o[5] 呢
下标越界
-
访问 o[5] 报错
-
IndexError
-
string index out of range
-
中括号中 数字被叫做
-
索引
-
index
添加图片注释,不超过 140 字(可选)
-
如果索引数字 超过了字符串长度
-
就会发生
-
索引错误
-
IndexError
-
字符串索引 超出范围
-
字符串索引 下标越界
-
访问了 一个不存在的下标值
-
IndexError中的index是什么意思?
index
-
index 最开始的意思是食指
添加图片注释,不超过 140 字(可选)
-
这和下标有什么关系呢?
索引
-
后来 在翻书的时候
-
用食指 找到 目录中 具体页数
-
索引 到该页码
添加图片注释,不超过 140 字(可选)
-
所以index
-
也有索引的含义
指数
-
关键词的热度指标、指数
-
用的也是这个index
添加图片注释,不超过 140 字(可选)
-
索引下标可以是负的吗?
负数下标
-
最后一个字符
-
序号也可以 写成-1
-
从0号元素 反方向旋转一格
-
意思是 倒数第一个字符
添加图片注释,不超过 140 字(可选)
-
具体情况
添加图片注释,不超过 140 字(可选)
再问ai清楚
添加图片注释,不超过 140 字(可选)
s = "oeasy" length = len(s) for i in range(-1, -length - 1, -1): print(f"s[{i}] = '{s[i]}'")
-
运行效果
添加图片注释,不超过 140 字(可选)
-
要求从o到y
再提要求
添加图片注释,不超过 140 字(可选)
s = "oeasy" for i in range(-5, -1): print(f"s[{i}] = '{s[i]}'")
-
一点小瑕疵
添加图片注释,不超过 140 字(可选)
-
试试手动修改
总结
-
这次了解的是 字符串
添加图片注释,不超过 140 字(可选)
-
字符串 就是 字符的串
-
字符串长度 可以用 len函数
-
字符可以用下标索引 []
-
可以有正索引
-
也可以有负索引
-
可以有随机数字吗?🤔
-
怎么玩呢?🤔