#This is for everyone.
In the begning when God created the heavens and the earth. the earth was a formless void and darkness covered the face of the deep, while a wind from God swept over the face of the waters. Then God said,"Let there be light"; and there was light. And God saw that the light was good; and God separated the light from the darkness. (GENESIS 1:1-4)
#《跟老齐学Python》(第二版):From beginner to master.
针对零基础的学习者,试图实现从基础到精通,还要看自己的造化。
原名叫做《零基础学Python》,后来由于图书出版,更名为《跟老齐学Python》。
《跟老齐学Python:从入门到精通》一书已经由电子工业出版社出版,于2016年3月1日起,陆续在亚马逊、京东、当当、淘宝等网站发售,请关注,并感谢支持。
#第壹季 基础
##第零章 预备
- 关于python的故事
- 从小工到专家
- 安装python的开发环境
- 集成开发环境==>集成开发环境;python的IDE
##第壹章 基本数据类型
- 数和四则运算==>整数和浮点数;变量;整数溢出问题;
- 除法==>整数、浮点数相除;
from __future__ import division
;余数;四舍五入; - 常用数学函数和运算优先级==>math模块,求绝对值,运算优先级
- 写一个简单程序==>程序和语句,注释
- 字符串(1)==>字符串定义,转义符,字符串拼接,str()与repr()区别
- 字符串(2)==>raw_input,print,内建函数,原始字符串,再做一个小程序
- 字符串(3)==>字符串和序列,索引,切片,基本操作
- 字符串(4)==>字符串格式化,常用的字符串方法
- 字符编码==>编码的基础知识,python中避免汉字乱码
- 列表(1)==>列表定义,索引和切片,列表反转,元素追加,基本操作
- 列表(2)==>列表append/extend/index/count方法,可迭代的和判断方法,列表原地修改
- 列表(3)==>列表pop/remove/reverse/sort方法
- 回顾列表和字符串==>比较列表和字符串的相同点和不同点
- 元组==>元组定义和基本操作,使用意义
- 字典(1)==>字典创建方法、基本操作(长度、读取值、删除值、判断键是否存在)
- 字典(2)==>字典方法:copy/deepcopy/clear/get/setdefault/items/iteritems/keys/iterkeys/values/itervalues/pop/popitem/update/has_key
- 集合(1)==>创建集合,集合方法:add/update,pop/remove/discard/clear,可哈希与不可哈希
- 集合(2)==>不可变集合,集合关系
##第贰章 语句和文件
- 运算符==>算数运算符,比较运算符,逻辑运算符/布尔类型
- 语句(1)==>print, import, 赋值语句、增量赋值
- 语句(2)==>if...elif...else语句,三元操作
- 语句(3)==>for循环,range(),循环字典
- 语句(4)==>并行迭代:zip(),enumerate(),list解析
- 语句(5)==>while循环,while...else,for...else
- 文件(1)==>文件打开,读取,写入
- 文件(2)==>文件状态,read/readline/readlines,大文件读取,seek
- 迭代==>迭代含义,iter()
- 练习==>通过四个练习,综合运用以前所学
- 自省==>自省概念,联机帮助,dir(),文档字符串,检查对象,文档
##第叁章 函数
- 函数(1)==>定义函数方法,调用函数方法,命名方法,使用函数注意事项
- 函数(2)==>函数返回值,函数文档,形参和实参,命名空间,全局变量和局部变量
- 函数(3)==>收集参数:
*
和**
,及其逆过程,复习参数知识 - 函数(4)==>递归和filter、map、reduce、lambda、yield
- 函数练习==>解一元二次方程,统计考试成绩,找素数
- zip()补充==>对zip()函数的用法进行补充说明
#第贰季 进阶
##第肆章 类
- 类(1)==>类的初步认识和基本概念理解:问题空间、对象、面向对象、类和实例化类
- 类(2)==>新式类和旧式类,类的命名,构造函数,实例化及方法和属性,self的作用
- 类(3)==>类属性和实例属性,类内外数据流转,命名空间、作用域
- 类(4)==>继承,多重继承,super函数
- 类(5)==>静态方法和类方法,两者的区别,类的文档
- 多态和封装==>多态,封装和私有化
- 特殊方法(1)==>
__dict__
和__slots__
- 特殊方法(2)==>
__getattr__
,__setattr__
以及查找属性顺序,双划线解释 - 迭代器==>迭代器方法
__iter__
,netx()
- 生成器==>生成器定义,yield,生成器方法
- 上下文管理器==>上下文管理器的基本概念,使用方法和contextlib模块
##第伍章 错误和异常
- 错误和异常(1)==>什么是错误和异常,常见异常类型,处理异常(try...except...)
- 错误和异常(2)==>处理多个异常,else子句,finally子句
- 错误和异常(3)==>assert断言,异常小结
##第陆章 模块
- 编写模块==>模块是程序,模块的位置
- 标准库(1)==>引用模块的方式,dir()查看属性和方法,模块文档和帮助
- 标准库(2)==>sys,copy
- 标准库(3)==>os模块:操作文件、目录,查看修改属性,执行系统命令,打开网页
- 标准库(4)==>堆的基本知识,heapq模块,deque模块
- 标准库(5)==>calendar模块、time模块、datetime模块
- 标准库(6)==>urllib模块、urllib2模块
- 标准库(7)==>xml.etree.ElementTree模块:遍历查询、增删改查xml,应用实例
- 标准库(8)==>json模块:dumps(),loads(),dump(),load(),自定义类型数据的json编码和解码
- 第三方库==>第三方库的模块安装方法,以requests模块为例说明
##第柒章 保存数据
- 将数据存入文件==>pickle模块,shelve模块
- MySQL数据库(1)==>MySQL概况,安装,python连接MySQL模块和方法
- MySQL数据库(2)==>连接对象方法,游标对象方法:数据库的增删改查基本操作
- MongoDB数据库==>mongodb的安装启动,pymongo模块:连接客户端,数据库的增删改查操作
- SQLite数据库==>通过sqlite3模块操作SQLite数据库:连接对象方法,游标对象方法,数据库增删改查
- 电子表格==>python操作Excel文件的第三方库openpyxl使用方法,以及其它与Excel相关的第三方库
#第叁季 实战
##第捌章 用Tornado做网站
- 为做网站而准备==>开发框架,python的常用web框架,tornado框架介绍和安装
- 分析Hello==>发布tornado做的网站,并剖析基本结构
- 用tornado做网站(1)==>网站的基本结构,一个基于tornado框架的网站架子
- 用tornado做网站(2)==>前端模板,静态文件引入
- 用tornado做网站(3)==>ajax传输数据,get_argument()接收数据,验证用户名和密码
- 用tornado做网站(4)==>render()方法使用,模板语法,转义(自动转义,不转义)
- 用tornado做网站(5)==>模板继承和块语句,CSS文件,cookie以及XSRF安全防护方法
- 用tornado做网站(6)==>用户验证
- 用tornado做网站(7)==>概念:同步和异步、阻塞和非阻塞,tornado的同步,tornado的异步设置,实践中的异步
##第五部分:科学计算
- 为计算做准备==>相关模块的安装,ipython notebook
- Pandas使用(1)==>Series数据类型:定义和基本属性,DataFrame数据类型:定义和基本属性
- Pandas使用(2)==>读取csv文件,excel文件,以及其它格式数据和从数据库加载数据方法
- 处理股票数据==>下载yahoo股票数据,matplotlib模块绘图
##附:网络文摘