show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
-
上节 实验内容 比较
杂
- 类型转化
- 进制转化
- 捕获异常
- 变量类型
-
变量类型主要研究了
两
个- 字符串 str
- 整型数字 int
- 彼此可以相互转化的
-
加法运算逻辑
- 会根据操作变量的不同 而不同
- 整型变量的加法 是真的加
- 字符串的加法 是字符串拼接
- 会根据操作变量的不同 而不同
- 除了这两种类型之外
- python还有
啥
数据类型呢???🤔
- python还有
- 首先得明确
- 什么 是
类型
呢?
- 比如 超市里
- 商品 需要分类型
- 超市的产品 是 分好类型的
- 粮油区 放 粮油类产品
- 杂粮区 放 杂粮类产品
- 糖果区 放 糖果类产品
- 具体到 某个区域
- 水果区放各种水果
- 香蕉区 放 香蕉类(banana class)
- 苹果区 放 苹果类(apple class)
- 橘子区 放 橘子类(orange class)
- 那具体的某个橘子
- 和橘子类 是什么关系呢?
- 具体的橘子
- 是橘子类(orange class)的
- 一个实例对象
- instance object
- 是橘子类(orange class)的
- 另一个具体的橘子
- 也是橘子类(orange class)的
- 另一个实例对象
- 也是橘子类(orange class)的
- 汽车
- 是一个抽象的
- 类型
- class
- 是一个抽象的
- 具体的汽车
- 是隶属于汽车类(car class)的
- 一个实例对象 汽车乙
- python如何理解class呢?
- 类 是
- 一种 特殊的对象类型
- 通过 类的语句 描述出来
- 可以用来产生 实例
- 实例 包括 数据和方法
- 先来 看看
- 整型类变量
- int class
- int
- 就是 整数类型
- class int
- i、j是int类的 实例对象
help(int)
- class int 的帮助手册
- 再来看看字符串
- str 就是
- 字符串类型
- class str
- s1、s2是str类的
- 实例对象
- instance object
- str 是另一种类型
- 不同于 int
help(str)
- class str 的 帮助手册
- 我们来看一个新的类型
- 一对中括号
- 对应类型 是 list
- list 该如何理解呢?
- help(list)
- list 是一个抽象的类型
- built-in mutable sequence
- 内建的
- 可修改的
- 序列
- 序列
- 有顺序的排列
- 有前有后
- 一个一个来
- 观察定义
- 如果 没有 给list参数
- 那么 这就是 一个 空列表
- 将空列表 赋给 一个 变量
- 这 列表变量
- 起
什么
名字 好呢?
- pep-8 建议不用
- 大写O
- 怕 和0 混淆
- 大写I,小写l
- 怕 和1 混淆
- https://peps.python.org/pep-0008/#prescriptive-naming-conventions
- 大写O
- 我们使用lst作为变量名
lst = list()
lst
type(lst)
- 效果
- 如果我直接写
- l = [ ]
- 会如何呢?
- [ ]好像 也可以
- 直接得到一个空列表
- 并赋给lst
- 这两句等价
lst = list()
lst = []
- 列表 可以
不
为空吗?
list1 = ['刘备', '关羽','张飞']
list1
type(list1)
- 将字符串用逗号隔开
- 放到中括号里面
- 可以得到列表类对象
- 这列表类型 和
- 之前的整数类型、字符串类型
- 有什么不同吗?
- 数字变量
- 也都能在帧栈空间上看见
- 这些变量在帧栈空间上都有自己的位置
- 那么列表变量 list1 呢?
list1 = ['刘备', '关羽','张飞']
- 可以看到 list1 在栈帧上有位置
- 或者说list1 在 globals() 里面
- 全局可见
- 注意那条带箭头的线
- global frame 中 可见的 list1
- l 在 帧栈上的位置尾号2432
- 指向 堆空间中 一个列表对象
- 栈帧上
- 只能看见 list1
- 但无法 直接
- 访问 列表中的 具体元素
- 三个字符串
- 刘备
- 关羽
- 张飞
- 想要访问怎么办呢?
list1 = ["刘备", "关羽", "张飞"]
liubei = list1[0] # 获取索引为0的元素,即“刘备”
print(liubei) # 输出: 刘备
- 能通过list1[0]
- 这种 下标索引的方式
- 来访问到list1[0]
- 得到list1[0] 里面 第0个对象
- 值为"刘备"
- 这种 下标索引的方式
- 这索引 之前好像见过?🤔
- 索引index
- 来自于 食指
- 可以按照元素的编号
- 访问
- 注意编号 从零开始 ~
- 这次理解了
- 类 与 对象
- 类 class
- 是 抽象的类型
- 具体的 对象
- 是 某个类的 实例对象
- instance object
- lst 是 列表类的实例对象
- 可以调用什么方法 吗?
- 下次再说 👋