Python是我最常用的编程语言,我学习和使用它已经有六七年的时间了(我不是软件行业从业者)。下面是一些简单的记录,供自己参考。
包管理器
现在的Python带有pip包管理工具,可以用来安装PyPI仓库里数量庞大的第三方库。我一般在配置文件里将仓库地址改为国内的映像,这样下载速度会非常快。
标准库
Python的标准库非常庞大,涵盖了文件操作、压缩、网络通信、文字处理等功能。
第三方库
NumPy和SciPy提供了丰富的数据处理功能。NumPy的数据结构是多维数组,能进行矢量、矩阵、三角函数等运算。许多机器学习库,如TensorFlow、MXNet、PyTorch都借鉴了NumPy的数据表示方法和功能。SciPy则具有丰富的科学和工程计算能力,如快速傅里叶变换、特殊函数、信号处理等。
Pandas提供了类似数据库表的运算。
Matplotlib用来进行数据可视化。
Scikit-Imageh和OpenCV可用于计算机视觉。
TensorFlow、MXNet、PyTorch、Scikit-Learn等流行的机器学习框架都提供了Python接口。
Requests是一个非常人性化的http接口。
Flask是轻量级的web框架。
IDE和编辑器
在Windows上,我最喜欢的编辑器是Notepad++。它轻便小巧、功能丰富,快捷键比较人性化,性能也非常好。我用Notepad++来记笔记、创作文案、编程。
在Linux上,我采用的编辑器是Vim。它是Linux上的标配,在Windowsh和macOS等系统上也同样可用。它非常经典和强大,但学习曲线很陡峭。通过适当的设置和安装各种插件,Vim可以起到IDE的效果。
VS Code是微软出品的编辑器,易用性好、功能强大,可通过插件达到IDE的效果。它具备了Visual Studio的IntelliSense功能,可以对多种语言进行代码补全。VS Code是现在最受欢迎的IDE。
iPython是一个交互式的Python解释器,据有代码高亮、自动补全、显示帮助文档等功能。
Jupyter Note是基于Web的编程工具,类似于笔记本,可以编辑代码,撰写Markdown文档,显示表格、数学公式和图片,具有多种图形化控件,还能存储中间结果。通过安装不同的kernel,Jupyter能支持其他语言,比如C和R等。由于是基于Web的,它还能运行在服务器上,供远程使用。Jupyter Note在机器学习领域的应用非常普遍。
如果需要编写能运行在微控制器上的MicroPython程序,我选用Mu。
教程
我大约是在2013年开始学习Python的,所用的教材是Swaroop C.H.的A Byte of Python。这是一本免费的小书,正文只有100页左右,非常简洁易懂,基本涵盖了Python语言的主要内容。
我也参考过Python手册里的The Python Tutorial。这本官方出品的免费教程更为详细,涵盖了一些比较深入的概念和技巧,示例也非常之多。
网站
我最喜欢的Python教学网站是https://realpython.com/。该网站按主题列出了海量的文章,每篇文章深入浅出地讲解了Python语言的某个概念。诸如修饰器、生成器等内容,我都是从这里学到的。
本文转自我的个人博客。我的Python工具箱 - Jay's Notesjwnote.com