编程语言【Python】(撰写中)

Python与商科

Python的重要性无需赘言,当然在大型项目上的应用还是不如Java等语言。我个人认为,Python是目前最适合管理科学与工程或其它商科专业同学进行学习的语言,主要基于以下原因:

  1. 语法简单,容易上手。相比于Java和C等语言,Python的代码平易近人,省却了括号、强制声明变量类型等要求,降低了学习门槛。
  2. 资料众多,扩展性强。网上有很多教程,照着来能及时评估自己的学习进度,激发学习热情。扩展性强主要体现在其胶水语言的特性,能借助他人的工作快速实现想要的功能,降低了学习的难度。
  3. 可满足科研需求。商科专业常常涉及到的数据处理和分析、优化算法对比、随机过程和强化学习、网络建模和展示等等科研需求都有许多Python的包可用。这些包久经考验,仍在开源社区中获得不断的改进,是我们提升科研效率的利器。

接下来我主要介绍如何从零开始搭建Python环境。事实上有很多详细的网文可以参考,但我主要从做科研的角度出发来介绍。

Python版本选择

Python版本分为2.x和3.x两大类型版本,建议直接用当前最新的3.7.4版或更新的版本。首先点击官方下载地址,但不要直接点上方的Download Python 3.7.4(因为默认是32位的),应点击下方表格中需要下载的版本,比如Python 3.7.4,然后在新的页面下方选择64的版本,其文件名一般是python-3.7.4-amd64.exe。对于新手而言,不要同时安装多个版本的Python,以免引起一些不必要的问题。

这里有一点需要注意。如果需要用一些商业优化软件比如Cplex、Gurobi,则要关注这些软件的版本是否支持当前Python的版本。比如,Gurobi 8.1支持Python 3.7,但Gurobi 8.0只支持Python 3.6。而Cplex 12.8也不支持Python 3.7,只能用Python 3.6。因为没有亲测,不确定Cplex 12.9是否支持Python 3.7。

安装Python

建议将Python安装到C盘根目录下,比如C:\Python37\,将来找起来会比较方便。安装时需要注意的一点是在安装的第一个页面里勾选“Add Python 3.7 to PATH”,这样就无需手动配置了。其它设置全部Next即可。

测试Python是否正常安装的方法是按Win + R,然后输入cmd回车,在命令行里输入Python,检查第一行出现了Python版本以及64 bit字样即可,比如Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32。下方的三个大于号>>>右方可以输入Python指令,比如

print('Hello, world!')

回车后即可输出结果。如需退出Python环境,可以按Ctrl + Z或者输入exit()quit()

安装Numpy

Numpy是Python用于矩阵计算的包,因此科研工作者一定要安装。由于后续很多包都需要Numpy,因此要作为第一个安装的包。在Windows下,安装这个包较为繁琐,主要是因为Numpy需要采用Intel Math Kernel Library(MKL)和Microsoft Visual C++ Redistributable。

安装的第一步是去这个网站找到Python版本对应的Microsoft Visual C++ compiler。比如Python 3.7版本需要的VC版本是14.X,因此可以在微软官网上下载Visual Studio 2015, 2017 and 2019或以上版本并安装。这里务必注意的是需要选择64位的。

安装完毕后,第二步是去这个网站找到和Python版本对应的numpy wheel文件,比如numpy‑1.16.5+mkl‑cp37‑cp37m‑win_amd64.whl。文件名的第二项是Numpy的版本,第三项说明内置MKL,第四五项是对应的Python版本,第六七项是对应的操作系统的32/64位。下载到本地(比如C:\Users\ABC\Downloads\)后不要修改文件名,打开本地目录后,点击文件 -> 打开Windows PowerShell,输入pip install numpy‑1.16.5+mkl‑cp37‑cp37m‑win_amd64.whl,即可成功安装Numpy。

安装其他包

其他包的安装就没有这么繁琐了,直接在CMD窗口输入pip install 包名1 包名2 包名3即可。比如安装scipy包,则是pip install scipy。输入pip freeze可查看当前已经安装的Python包及其版本。商学院学生可能需要的Python包有:

  • scipy,内置寻优、积分、差值、回归等各种计算,非常有用
  • pandas,主要用于各种(面板、时序)数据统计分析,其DataFrame类非常好用
  • matplotlib,用于绘制各种图形,可以在这个网页找到这些图表的源代码,并相应修改

除此之外,我还经常使用sklearn用于基本的机器学习、networkx绘制网络、pymysql用于连接MySQL数据库等。一次安装我常用的包只需要输入pip install scipy pandas matplotlib sklearn networkx pymysql。一般而言,在需要一个工具的时候,应当先去检索一下是否已经有人制作了Python的包,从而避免自己从零开始重做“轮子”。

安装编辑器IDE

虽然理论上可以用记事本来写python程序,但实际上一个好的集成开发环境(IDE,Integrated Development Environment)能让我们事半功倍。建议使用PyCharm,即便是免费的Community版本也已经很好用了。在下载页面找到这个版本后安装即可。