一些学习资源的收集:
可汗学院 视频 公开课
Grossin 编程教室: 一个非常简单,对初学者非常友好的教程和在线联系
廖雪峰教程
书籍:
Python核心编程: 这本书应该是最清楚、最深入全面的书
像计算机科学家一样思考python:很好的一本入门书
Python2.7 Tutorial中文版 :官方文档的中文翻译
笨方法学Python
Python High Performance Programming: 进阶的书
Cython - A Guide for Python Programmers: Cython 是一种加速Python 代码的渠道 numpy和pandas等就是依靠Cython来加速的
WebScraping with Python: Python3 网页爬虫的入门书,这本书的爬虫方案和数据清洗方案不推荐,但是可以提供一下思路指导
Data Structures and Algorithms Using Python: 用Python讲数据结构和算法 简直是强行造轮子,Python封装的太到位了,大部分用不上,
不过这本书非常好,通俗易懂
Python for Data Analysis: 这本书是Pandas的作者写的Python数据分析必看的书--还有中文版
Introduction to Python for Econometric: 这本书虽然叫这个名字,但是一点也不计量统计和数据分析,其实是一本科学计算的入门
Mining the Social Web,Matthe: 挖掘社交网络的,没有太多社交网络的理论,主要是工具
Python自然语言处理: 自然语言处理,这本书是NLTK的官方教程,NLTK是专门用来做NLP的工具箱
机器学习实战:这本书是机器学习的入门书,偏计算机算法的应用范围讲的非常清楚,但是统计背景不深,如果想系统的学习统计原理,推荐使用叫统计学的书,很多是用R做工具的
An Introduction to Statistical Learning
PythonSim: 一个关于Simulation的简单介绍
HeadFirst Python的中文版: Python3入门
Programming Python: Python3进阶
Python 高级编程: Python2进阶
Python源码剖析: Python2
Python Cookbook中文版:Python2
集体编程智慧: 数据科学的入门资料
数据科学实战: 数据科学入门资料
Python for Data Analysis的中文版
Python数据分析基础教程
Numpy学习指南(第二版)
编程的学习经验:
https://www.zhihu.com/question/29372574
https://www.zhihu.com/topic/19552832
https://zhuanlan.zhihu.com/p/21373956
Python基本的框架及语法内容:
学习内容来自:七月在线
python2 和 python3的主要区别:
部分语法不兼容、
数据类型的变化、
异常的改进......
示例:
如何学好编程
基础部分:
基本语法:
基本数据类型
对象的定义和声明
循环和判断:for、foreach、if、while, do ...
逻辑运算
位运算
数据结构
数组
字符串
系统标准库自带的类型
如何实现常用数据结构: 链表、堆栈、二叉树 ...
输入输出
标准输入输出: print, echo, input ...
文本读写:文本/ 二进制
文本:行读写
二进制:偏移量 + 大小
格式化字符串
异常处理
抛出和捕获异常:try/catch、try/except ...
异常和错误的区别以及应用场合
进阶提高:
常用算法
分治
贪心
动态规划
数据库访问
建立连接
执行SQL查询
读取查询记录
面向对象
继承
多态
静态变量与方法
其它
多线程、进程
进程有独立地址空间,线程是进程的一部分
匿名函数
语言相关特定知识
java的反射
C++的模板
Python的协程 ...
常用关键字
常量
True
False
None
对象和容器
class
import
from
del
判断
if
elif
else
is
in
assert
循环
for
while
continue
break
pass
异常
raise
try
except
finally
as
常用运算符
算术运算
+ - * /
%
**
//
比较运算
>, >=
<, <=
==
!=
逻辑运算
and
or
not
位运算
快速做乘法、除法
>>
<<
%
|
^
基本语法
缩进
indentation error: unexcepted indent
注释
#
'''
第一行
第二行
'''
str = 'abcd'\
'efgh'
print(str)
多行代码表示
中文支持
py27版本
# -*- coding:utf-8 -*-
#coding:utf-8
www.lintcode.com
2.x 和 3.x 的区别
print 函数: 3.x 必须加上()
Unicode: 3.x 默认使用unicode编码
除法运算: 3.x 整数相除也能得到浮点数结果
异常: 3.x 只能抛出继承自 BaseException 的异常
xrang: 3.x 取消了 xrange, range 与 xrange 一样为实现的惰性求职
二/八进制: 3.x 必须强制卸任0b1011 和 0o7236
不等式:3.x 取消了'<>', 只有 '!='
表达式:3.x 必须使用repr函数
多个模块改名:Queue -> queue, repr -> reprlib ...
数据类型:
3.x 取消了long, 统一为int
新增bytes类型,并可与string相互转换
dict的keys / items/ values方法返回迭代器,iterkeys函数被废弃, has_key被in取代