我的Python工具箱

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语言的某个概念。诸如修饰器、生成器等内容,我都是从这里学到的。

发表评论