有个原公司的同事在招聘qt工程师,我向他推荐了pyqt而不是c++,c++工程师没有python好找,而且python开发快啊。python看起来可视化不太强,但是它是个强大的胶水语言,比如上面说的QT,python的pyqt5就是基于QT(c++)。
不要总是抱怨效率太低,就像numpy, pandas虽然是python包,但是运算起来一样很快,pandas是基于numpy库的数组结构上构建的,并且它的很多操作都是(通过numpy或者pandas自身由Cpython实现并编译成C的扩展模块)在C语言中实现的。因此,如果正确使用pandas的话,它的运行速度应该是非常快的。了解下pandas,numpy向量化吧!
python的优点在于社区活跃,不需要重复造轮子,基本上你需要的功能google下或者看下stackflow都能找到,我平时写代码都是先google下,基本上都能找到现成的,看起来很low但是用起来非常方便,这对于开发来说无疑降低了成本。
当然,python是个动态语言,用不好就会感觉很慢。比如它的多线程其实是伪多线程,适合web这种IO为主的应用,计算密集型它劣势比较明显。一般运算量大我就用多进程,就是资源开销大些,如果控制好内存消耗也还好(比如一个程序里我产生了多个dataframe变量,不用的时候手动del就有助于内存的回收)。