习题38:列表的操作:
列表是程序员最常用的一种数据结果。就是一种有序的列表,可以把东西存储进去。
列表的功能:
- 有序,类似一摞卡牌,从头到尾是有排列的
- 可储存东西
- 随机访问,可以从中任意抽取一个元素
- 线性,如果需要找到某张牌,可以从第一张开始,依次寻找
- 通过索引:python列表里,如果要找某个索引位置的牌,计算机可以直接跳到索引对应的位置将其找出来。
当看到mystuff.append(‘hi’)这样的代码时,python的工作原理是:
- python看到了mystuff,于是去查找这个变量,看你有没有创建过(用过)这个变量,或者是不是一个函数参数,或者是不是一个全局变量,无论如何,需要先找到这个变量
- 一旦找到mystuff,就处理( . )这个运算符,开始查看mystuff内部的一些变量了。mystuff是一个列表,它支持一些函数。
- 接着是append。python会将mystuff支持的函数和append一一对比,如果其中确实有一个函数append,就会使用它。
- 接着python看到( ( )并意识到:这是个函数,于是,python开始做正常调用这个函数了,不过这个函数还有一个额外的参数
- 这个参数实际上就是mystuff,真实发生的事是append(mystuff, ‘hi’),而不是你看到的mystuff.append(‘hi’)
见例子:
上面的例子说明python把a.test(“hi”)改成了test(a,“hi”),于是报错(test()只能接收一个参数,实际上给了两个)。