上次理解了 空列表
有两种方式 构造空列表
lst = list()lst = []
空列表的类型
依然 是 列表(list)
什么 是 method(方法) 呢?
类 方法去官网搜索 什么是方法
https://docs.python.org/3/faq/programming.html#what-is-a-method
方法 就是
用 对象来
调用的 成员函数
方法 和 函数 真的很像啊!
函数和方法这种 后面带括号
括号里 放参数列表的
不 就是 函数(function) 吗?
方法(method) 和 函数(function)
有什么不同呢?
不同询问ai
函数(function) 前面
没有调用对象
方法(method) 前面
有个 对象(instance) 完成调用
比如 lst.append中的 lst
列表 里面 可以装中文词 吗?
非空列表list1 = 【‘刘备’, ‘关羽’,‘张飞’】
这样可以吗?
我们需要修改
修改要特别注意
中括号、引号、逗号
都得是 英文 半角
把符号写好之后 再去写 中文词汇
list1type(list1)
将字符串用逗号隔开
放到中括号里面
可以得到 字符串列表
列表这类型 和
之前的整数类型、字符串类型
有什么不同吗?
数字变量先看变量赋值
https://pythontutor.com/visualize.html#mode=edit
i1 = 123f1 = 12.3s1 = "abc"
这些变量
在frame上能直接看到
什么是frame呢?
frame帧/画框
框里面的几个变量
都看得见
摸得着
这些变量在
帧栈空间(frame stack)上
都有自己的位置
那么列表变量 list1 呢?
列表变量list1 = ['刘备', '关羽','张飞']
可以看到 list1 在栈帧上有位置
或者说list1 在 globals() 里面
全局可见
list1 是一个容器
注意那条带箭头的线
global frame 中 可见的 list1
list1 在 帧栈上的位置尾号2432
指向 堆空间中 一个列表对象
栈帧上
只能看见 list1
但无法 直接
刘备
关羽
张飞
访问 列表中的 列表项
如何才能访问列表项呢?
询问ai能通过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) 吗?
appendname_list.append("o4z")
名单 追加 人名
追加成功
这 不是 和函数差不多?
有啥区别?
帮助细节help(list.append)
list.append
self
object
有两个参数
第一个参数 是 self
啥意思?
selfself 就是自己
谁自己?
对象自己
哪个对象自己?
就是哪个对象自己
哪个调用 append 函数
调用者name_list.append("o4z")name_list
这个例子里
哪个调用 append?
调用者就是 name_list
self 就是 name_list
意思是 为name_list 追加列表项
name_list.append("o4z")
具体的例子不同的对象
可以分别追加自己的
列表项
6号窗口 排队
追加在 自己后面
不影响 7号窗口的 列表
各排各的队
混着来不行吗?
黑名单黑名单 和 白名单 混着来
那不全乱了?
黑名单 append 的是 拒绝的
白名单 append 的是 允许的
官网怎么理解self?
官方文档python3 的官方文档怎么说
https://docs.python.org/3/faq/programming.html#what-is-self
self 只是 成员方法(member method)里面
名字 的 惯例
self 通常用来当做
method(self, a, b, c)
成员方法的 第一个参数
成员方法 定义为
在这里
self 就是 name_list
append 就是 meth
name_list 和 append 之间的
这个(.)点 怎么理解?
成员方法这个.(点)
我们曾经用过
指的就是 里面的
我们复习一下time
time是 内建时间模块的 名字
timeimport timehelp(time)
如果没有引入time这个模块(module)
就不能调用
引入了模块 之后
能 干什么 呢?
使用模块中的函数如果 引入了time模块
就可以使用 time模块 里面的 函数asctime
time.asctime()
注意asctime 是
time这个 模块中的
函数(function)
我们还用过
什么模块吗?
总结这次了解了 list 列表的操作
追加列表项 append
在列表的结尾处 追加列表项
lst.append
lst 是 list类 的 实例对象
append 是具体的方法
中间(.) 点 的意思 是 里面的
就像time.asctime()
我们还学过什么模块来着?🤔
下次再说 👋
蓝桥->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython