我应该切换到Python吗?

2024-04-24 22:30:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近一直在考虑改用Python编程语言。目前,Matlab是我所在部门快速开发和原型代码的首选语言。它在这方面做得很好,但是Mathworks(Mathworks)一直在修改许可条款,导致了不应该存在的麻烦。


Tags: 代码语言编程语言原型条款部门matlabmathworks
3条回答

选择取决于成本。如果你愿意为Matlab付费——特别是如果你使用工具箱——你可能会发现Python没有提供这样的集成包。使用矩阵作为基本数据类型使Matlab成为许多数学任务的直观语言。就我个人而言,我觉得这与调试器结合起来是无价的。

Python、NumPy、SciPy等都提供了相同的功能。当然会有一个学习曲线需要克服。

如果您正在执行一般的编程任务,而这些任务并不是特别应用的数学解决方案,那么Python是一种极易使用和适应性极强的语言。它也是免费的——这可能是一个决定因素。

如果你正在寻找一个批发的Matlab替代品,你可能想看看Python(x, y)。它的目标是提供一种更具凝聚力的体验,而不是让新用户自己在互联网上寻找合适的组件来使用。

另一个选项是GNU Octave,它本质上是一个开源的MATLAB克隆。

我发现python+numpy+scipy+matplotlib+IPython+[random sci/numerical packages]几乎完全可以替代matlab。当然有一些包丢失了,所以如果有一组专门的工具在matlab中可用,但在python中不可用,这可能是一个问题,但在其他情况下,我没有回头看。

我将提到python相对于matlab的两个显著优势

  • 真正的编程语言,而不是一种被扔在数字包上的语言(numpy不是反过来变成python)。与matlab相比,管理大型python项目是一件非常有趣的事情。有多少不同的oop系统被混入了matlab?
  • 完全免费和便携。我几乎可以在任何机器上使用python,而无需许可问题。在我看来,这是最大的优势。
  • 在C、C++、FORTRAN中使用其他文件库,使用SWIG、Cython、F2Py等,与MX文件
  • 的丑性相当直接。
  • 用于加速慢代码的Cython(尽管我发现numpy几乎和matlab一样快,如果不快的话)
  • mpi4py与其他运行并行应用程序的软件包相比

就我个人而言,我在很多工作中都使用了热情的Python发行版,因为它打包了所有内容,并且对学术界的个人来说是免费的。我也可以从头开始构建python及其所有库和模块。模块管理可能是python中最大的弱点,但是有一些很好的东西可以帮助您,比如virtualenvpip

相关问题 更多 >