如何学习Python
自认为没有能力写一套学习的教程
在这里推荐一些学习教程,学习资料,以及学习方法
学习教程
写的非常基础易懂,用于入门很合适
-
Github 有13K Star的超多人推荐自学教程 Python - 100天从新手到大师
-
知乎专栏 从零开始学Python
这三个是同一个作者的
- 中国大学 mooc - 浙江大学 Python 程序设计
学习资料
- 连续多年被哈佛大学学生评为最受欢迎的公选课程 (但是英语) CS50: This is CS50x
- 《Python 编程:从入门到实践》ISBN 978-7-115-54608-1
- Python 3 菜鸟教程 runoob.com/python3/python3-tutorial.html
- Python 官方文档 tutorial docs.python.org/3/tutorial
- Python3 速查卡 https://perso.limsi.fr/pointal/_media/python:cours:mementopython3-zh_cn.pdf
学习方法
注意
本教程主要面向CTFer的Python学习
所以不是完全按照正常的Python学习方式
计算机方面的学习,基本上都是重在实践
去上手操作才能真正的掌握
我并没有系统的学习过Python,我是以一边写代码一边学的方式学习的
学基础
不论哪种语言的学习,都先从最基础的语法结构开始
- 数据类型
- 循环
- if语句
- 函数
- 文件操作
- 异常的处理
- 模块的引用
一些常用的库
- re
- os
- time
- requests
- hashlib
- random
- 等待补充
坚持写程序
代码规范
有一个好的代码书写规范,真的很重要
(不要学谭浩强的a,b,c抽象变量命名法,这谁看得懂)
学编程的过程,就像高中的学习过程
长时间不去写就会忘记,熟才能生巧
刷题的话,可以试一下网上的 Python入门习题100道
我也会提供一些面向CTF学习的Python题,供大家练习
进阶
觉得自己掌握了基础的部分,可以开始学一些更高级的用法
-
lambda匿名函数
-
Class类
-
高阶函数
复杂些的模块
面向CTFer
-
pillow 图像处理
-
numpy 数据处理
-
threading 多线程
-
itertools 迭代