前阵子因为课程半强制使用Python语言编程,所以迫不得已花了一晚上学习了一下Python,我的内心是拒绝的。Python我也用了一段时间了,说说我的看法。
Python的优点
上手快。这没有什么争议。
开发效率高。但前提是你对这门语言以及你需要用到的库足够熟悉。
Python有众多的解释器,可根据需要进行选择,应用到不同平台。
可以打包成二进制。
库比较丰富。但是需要花时间去学习你想用的库。
Python的缺点
类型系统比较坑爹。虽然它是无类型的,代码中不可避免地会有很多强制类型转换的代码存在,主要是因为Python自己的类型转换不太友好。而且Python中的类型有点略多。
学习曲线不友好。的确上手比较容易,但我感觉总体的曲线接近N字型,因为简单不意味着你就可以避免编程语言中的坑,事实上你很有可能因为Python隐藏了很多东西导致你对它的认识不够从而踩到更多的坑。例如,Python里都是引用类型,如果你不理解这一点,就会踩到坑,比如函数里的list。
强制缩进格式。为什么我把它归在了缺点里呢?因为我认为这制约了程序员的思维方式和代码风格,程序员不应该被编程语言所束缚。
代码不可被混淆和压缩。这是由强制缩进格式导致的,此外,你也不能用Astyle之类的代码格式化软件了,因为格式都被固定了:)
官方文档不友好。我觉得比PHP的文档差多了。
版本不统一的历史遗留问题。
pip的高低版本居然存在源码安装和二进制安装两种不同的方式,让人黑人问号。
总的来说,我感觉Python是一个不上不下的语言,适用的场合主要有两个,一是日常写脚本在一些情况下替代bash使用,二是确实需要用Python做开发,而且你和你的团队都对Python足够熟悉。在其他的场景下Python并没有那么好用。
以上都是个人看法,欢迎讨论!