学习笔记 | 《利用python进行数据分析》| 附录A | python语言精要
- 从结构化和非结构化数据处理的角度重点介绍一些有关Python内置数据结构和库的最重要的功能。
- 强烈建议用IPython实验所有的代码示例,并查看各种类型、函数以及方法的文档。
- 本书主要关注的是能够处理大数据集的高性能数组计算工具。
一. 基础知识
01 语言语义
- 缩进(空白符、制表符),而不是大括号:具有更高的可读性
- 万物皆对象
- 注释:#
- 函数调用和对象方法调用
- 变量和按引用传递
- 理解python引用的语义以及数据复制的条件、方式、原因等知识对于在Python中处理大数据集非常重要。
- 动态引用,强类型:无类型声明
- Python中的对象引用没有与之关联的类型信息。
- 变量其实就是对象在特定命名空间中的名称而已。
- 对象的类型信息是保存在它自己内部的。
- 属性和方法
- “鸭子”类型:
一般来说,你可能不会关心对象的类型,而只是想知道它到底有没有某些方法或行为。
- 引入import
- 二元运算符和比较运算符
- 严格与懒惰
- 可变和不可变对象
- 标量类型:数值类型、字符串、布尔值
- 类型转化
- None
- 日期和时间:datetime模块
- 控制流:if、elif、else、for 循环、while循环、pass占位符
- 异常处理:try、except、TypeError、ValueError、finally
- range和xrange的区别
- 三元表达式
02 数据结构和序列
- 元组:元组拆包、元组方法
- 虽然存储在元组中的对象本身可能是可变的,但一旦创建完毕,存放在各个插槽中的对象就不能再被修改了。
- 列表:添加和移除元素、合并列表、排序、二分搜索及维护有序列表、切片
- 列表的合并是一种相当费资源的操作,因为必须创建一个新列表并将所有对象复制过去。而用extend将元素附加到现有列表就会好很多。
- 内置的序列函数:enumerate、sorted、zip、reversed
- 字典:从序列类型创建字典、默认值、字典键的有效类型
- 集合:
- 列表、集合以及字典的推导式
- 嵌套列表推导式
03 函数
- 命名空间、作用域、以及局部函数
- 返回多个值
- 函数亦为对象
- 匿名lambda函数
- 闭包:返回函数的函数
- 扩展调用语法和*args、**kwargs
- 柯里化:部分参数应用
- 生成器:生成器表达式、itertools模块