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

































