Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0085
- 这是 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`
---- 配套视频
- 上次理解了 空列表
- 有两种方式 构造空列表
lst = list()
lst = []
- 空列表的类型
- 依然 是 列表(list)
- 什么 是
method(方法)呢?
- 方法 就是
- 用 对象来
- 调用的 成员函数
- 方法 和 函数 真的很像啊!
- 这种 后面带括号
- 括号里 放参数列表的
- 不 就是
函数(function)吗?
- 方法(method) 和 函数(function)
- 有什么不同呢?
- 询问ai
-
函数(function) 前面
- 没有调用对象
-
方法(method) 前面
- 有个 对象(instance) 完成调用
- 比如 lst.append中的 lst
-
列表 里面 可以装中文词 吗?
list1 = 【‘刘备’, ‘关羽’,‘张飞’】
- 这样可以吗?
- 我们需要修改
- 要特别注意
- 中括号、引号、逗号
- 都得是 英文 半角
- 把符号写好之后 再去写 中文词汇
list1
type(list1)
- 将字符串用逗号隔开
- 放到中括号里面
- 可以得到 字符串列表
- 列表这类型 和
- 之前的整数类型、字符串类型
- 有什么不同吗?
i1 = 123
f1 = 12.3
s1 = "abc"
- 这些变量
- 在frame上能直接看到
- 什么是frame呢?
- 帧/画框
- 框里面的几个变量
- 都看得见
- 摸得着
- 这些变量在
- 帧栈空间(frame stack)上
- 都有自己的位置
- 那么列表变量 list1 呢?
list1 = ['刘备', '关羽','张飞']
- 可以看到 list1 在栈帧上有位置
- 或者说list1 在 globals() 里面
- 全局可见
- list1 是一个容器
- 注意那条带箭头的线
- global frame 中 可见的 list1
- list1 在 帧栈上的位置尾号2432
- 指向 堆空间中 一个列表对象
- 栈帧上
- 只能看见 list1
- 但无法 直接
- 访问 列表中的 列表项
- 刘备
- 关羽
- 张飞
- 访问 列表中的 列表项
- 如何才能访问列表项呢?
- 能通过list1[0]
- 这种 下标索引的方式
- 来访问到list1[0]
- 得到list1[0] 里面 第0个对象
- 值为"刘备"
- 这种 下标索引的方式
list1 = ["刘备", "关羽", "张飞"]
liubei = list1[0] # 获取索引为0的元素,即“刘备”
print(liubei) # 输出: 刘备
- 这索引 之前好像见过?🤔
- 索引index
- 来自于 食指
- 可以按照元素的编号
- 访问
- 注意编号 从零开始 ~
- 在中括号里面放上字符串
- 然后用逗号隔开
- 形成了 字符串列表
name_list = ['oeasy', 'o2z', 'o3z']
name_list
- 叫做 名单name_list
- 这个 名单 name_list
- 是列表类的
- 实例对象
- Instance Object
- 是列表类的
- 那这个 名单
- 可以 追加(append) 吗?
name_list.append("o4z")
- 名单 追加 人名
- 追加成功
- 这 不是 和函数差不多?
- 有啥区别?
help(list.append)
- list.append
- 有两个参数
- self
- object
- 有两个参数
- 第一个参数 是
self- 啥意思?
- self 就是自己
- 谁自己?
- 对象自己
- 哪个对象自己?
- 哪个调用 append 函数
- 就是哪个对象自己
- 哪个调用 append 函数
name_list.append("o4z")
name_list
- 这个例子里
- 哪个调用 append?
- 调用者就是 name_list
- name_list.append("o4z")
- self 就是 name_list
- 意思是 为name_list 追加列表项
-
不同的对象
- 可以分别追加自己的
- 列表项
-
6号窗口 排队
- 追加在 自己后面
- 不影响 7号窗口的 列表
- 各排各的队
- 混着来不行吗?
- 黑名单 和 白名单 混着来
- 那不全乱了?
- 黑名单 append 的是 拒绝的
- 白名单 append 的是 允许的
- 官网怎么理解self?
- python3 的官方文档怎么说
-
self 只是 成员方法(member method)里面
- 名字 的 惯例
-
self 通常用来当做
- 成员方法的 第一个参数
- 成员方法 定义为
- method(self, a, b, c)
-
在这里
- self 就是 name_list
- append 就是 meth
-
name_list 和 append 之间的
- 这个(.)点 怎么理解?
- 这个.(点)
- 我们曾经用过
- 指的就是
里面的
- 我们复习一下time
- time是 内建时间模块的 名字
time
import time
help(time)
- 如果没有引入time这个模块(module)
- 就不能调用
- 引入了模块 之后
- 能 干什么 呢?
- 如果 引入了time模块
- 就可以使用 time模块
里面的函数asctime - time.asctime()
- 就可以使用 time模块
- 注意asctime 是
- time这个 模块中的
- 函数(function)
- 我们还用过
什么模块吗?
- 这次了解了 list 列表的操作
- 追加列表项 append
- 在列表的结尾处 追加列表项
- lst.append
- lst 是 list类 的 实例对象
- append 是具体的方法
- 中间(.) 点 的意思 是
里面的 - 就像time.asctime()
- 我们还学过什么模块来着?🤔
- 下次再说 👋
- 配套视频
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。

























