廖大博客学习笔记
最近见天一直在看廖大的Python教程,却发现很多基础看着很简单,但却不会应用,归根结底还是因为理解不到位,故而又将教程学了一遍,并将自己的理解记录一下,也方便后面查阅。由于没有相关编程基础,有些理解可能是错的,敬请批评指正。
想深入具体学习廖大博客请移步廖雪峰的官方网站
列表list:可变的有序集合
L = [1, '2', 'c']
元组tuple:不可变,一旦建立就不可更改。由于不可改变因而更加安全,可用tuple代替的list尽量使用tuple。
T = (1, '2', 'c')
字典dict:使用“键-值”存储,可方便查找,其他语言里也称作map
D = { '1': 1, '2': b, 'c': 3}
dict与list:
- 理论上,可用两个list实现dict的功能,一个list存储“键”、一个list存储“值”,当查询数据时先查询第一个list找到“键”所在的位置,然后根据此位置去第二个list中查找“值”,但当数据较大时此方法耗时较长;
- 为了实现快速查询,可用dict,dict相当于将“键”-“值”对应存放在内存中,当查询时直接提取,速度较快。但缺点就是占用内存较大,相当于用空间换取时间。
集合set:与dict类似,也是一组key的集合,但不存储数据。key不可重复,因而set里的键值都是唯一的。
可变对象与不可变对象:
- 不可变对象:即是指调用自身的任意方法,都不会改变对象自身,如 h = 'abc'是一个string对象,但调用string的任意方法都不会改变h,h的内容始终都是'abc',除非对h重新进行赋值;
- 可变对象:调用自身方法可改变自身,如L = ['a', 'c', 'b']是一个list,调用list的sort方法后,L.sort(),再查看L时即变为L = ['a', 'b', 'c']