How to learn Python
在CITYU-商学院-Management Science做RA时,主要任务是inventory与pricing等方面的coding工作,对应paper中的实验部分。该领域科研工作主要侧重点在于理论,期望结合问题的性质,给出model及optimal policy等;但在data-driven的趋势下,老板认为学生应该加强coding工作,故期望我分享如何学习编程,面向的对象为他的博士生。在这一背景下,完成了该slides。
Slides是我对自己编程学习的总结,抛开厚厚的书本,放弃“打开第一章”的动作,本着实用性的角度出发。
1. What is Python?
[Python-Wiki]: https://en.wikipedia.org/wiki/Python_(programming_language)
[作者Wiki]: https://en.wikipedia.org/wiki/Guido_van_Rossum
他从著名英国喜剧团体Monty Python(巨蟒)身上得到了灵感,他本人也是该剧团的铁杆粉丝
[图片来源]: https://Itw01.com/4RSDEGA.html
脚本语言每次运行都需要走完全部的运作流程edit-compile-link-run,特点就是interpreted
2. Python从小白到入门
[conda VS pip]: https://stackoverflow.com/questions/20994716/what-is-the-difference-between-pip-and-conda
标蓝的库为常用库,用anaconda安装Python后,默认也会被安装
[知乎《深度学习的Python包对比》]: https://www.zhihu.com/question/29412143
[PyFlux ArimaX introduction]: https://pyflux.readthedocs.io/en/latest/arimax.html#introduction
[强化学习,PyBrain]: http://pybrain.org/
并行计算的库一般已被集成到其他一些package里,但若是自己手动实现的代码,需自行添加
3. Python从入门到放弃
初学者看完第1、2章即可,后面的过程很难从编程中感受到快乐……
4. 操作演示
这里不好放演示内容,故通过文字简单介绍下:
- 通过anaconda下载Python后,会自带下一个IDE,即spyder,个人觉得不够轻量级,所以推荐的IDE是微软的Visual Studio Code,下载地址为https://code.visualstudio.com/
- Jupyter Notebook是我非常喜欢的工具(将浏览器作为语言的IDE),类似于Matlab中的cmd,同时支持markdown的书写,可以让说明、公式、代码及每一代码块的运行结果出现在同一界面中,anaconda在安装好Python后也会自动将该工具安装好
- 对于不确定的代码,通过Jupyter单步运行,确定性的代码则copy到Visual Studio Code中进行封装
5. 总结
- 学习热情死于安装,但Python环境配置很简单,按上述介绍来即可
- 学习语言的最好方式为快速了解基本语法,再结合自己想实现的task,多google即可,书本仅作为查询细节的工具
- 多数童鞋想学习的Python的目的为数据处理与数据分析,对应Numpy、Pandas两个库函数,学会google里面输入“Pandas如何实现XXX功能”、“Numpy如何实现XXX功能”
论和程序猿沟通方式的正确性