易讯考务系统

查看更多新闻

过来人:用了几天学完了Python,我发现了新世界

2019-07-01 08:58:35 易讯考务系统 阅读

Python是现在最火的编程语言,没有之一。那么,相对于其他语言,为什么那么多人喜欢Python?学习Python能为我们带来哪些优势?今天我们就来看看过来人的回答。

图片关键词


01

Python解放了我


2005年中期,用了几天学完了Python,随后两天用了十几个小时写了编译原理的课程设计,这是我大学阶段所有课程设计里唯一没有延期的。


后来逐渐发现Python的简单可以把我的思想从编程语言的细节里解放出来,更关注实际要解决的问题。


就喜欢上了。


既然有人点赞,就再补充点。


很多人关注起Python就是因为简单易懂,做Web很方便。但在深入CS学科的很多高级主题时,Python能发挥出更加强大无比的力量。而这来自于Python是个好胶水。


坦白讲,Python不算最好的胶水,至少Lua做胶水就比Python好,API好用。但Python再算上强大的标准库、数据结构、友好的转义后,就脱颖而出了。


在科学计算领域,NumPy和SciPy的存在解放了很多人的思想束缚。其底层C模块,性能一流。


而当你需要一流的性能与一流的可调试性时,Python C模块是最好的选择。封装虽然有些麻烦,但封装后可以在Python里调用实在太方便。一些已有的C/C++应用也可以通过将函数封装给Python调用,而极大的降低调试难度,提升单元测试覆盖率。


2007年时我开始学Python的C模块编程,并在博客中放出了我的笔记。那时写了不少东西。封装libpcap后,做网络抓包,通信劫持,使得别人眼里,我俨然是个正经黑客。后来迷恋erlang期间,做了C node的Python封装,使得Python与Erlang可以互发消息,组建集群。搞硬件开发期间,封装了Cubieboard和RaspberryPi的GPIO、SPI等众多外设的Python接口,调试速度快到了云边。


做USB通信期间,因为PyUSB不支持isochronous通信而自己重写了个libusb的Python封装,使得USB编程不再困难。做音视频识别的日子里,做了v4l2的Python封装,使得操作摄像头的控制精度达到了最高。


相比于其他人,用上这些Python封装后,迭代速度数十倍的提高带来了系统进化速度的极大提高。比如我在音视频识别的研究期间,因为NumPy和我自己的封装,每天动则十几次甚至几十次的迭代,优化算法的各种参数。使得我在不到两年时间里,识别效果就超过可某大学教授12年的研究成果。识别速度更是超出对方两个数量级。


对于各个领域的研究者,我是真心推荐Python的。用上NumPy和SciPy,你就拥有了极致的性能,顶级的可调式性,和产品级的稳定性。而这也使得Python的这套组合成为科学计算领域唯一能与matlab竞争的选择。


02

Python开发迅速编写容易


因为软件工程发展到今天,很多时候代码的可读性,开发的速度,后期的维护难度,已经成为了语言最大的价值之一。还有很重要的一点就是,比起其它语言,要写很烂很烂的python,还是比较难的。

- Python和自然语言十分相近: 编写容易,维护容易,开发迅速

- 语言本身力量强大且高效:开发迅速,编写容易

- 有多种多样第三方库,各种直译器:开发迅速,编写容易, 效率不低

- 有一定群众基础和编写标准(pep8 etc):开发迅速,debug容易,社区支持.


03

Python强大到能做任何事情


小平同志说:"社会主义的本质是解放生产力",而Python就是一门可以解放程序员生产力的语言。


Python简单,所以学起来快,有编程经验的程序员一周就能上手Python。


Python强大,Python能做的事情从Web开发、科学计算、机器学习、数据分析挖掘、量化交易、网络爬虫,大到航空项目,真不是在吹牛。


Python库多,没有哪一门语言的第三方库比得上Python,各种领域的库都有,你无需再把时间浪费在造轮子上。


Python表达能力强,没有拖泥带水,有自己的Pythonic编程风格,所以开发效率高。


Python免费,任何人、组织、机构都可以免费使用Python,不像Java那么商业化,这也是为什么Google还要和Oracle纠缠不清打官司的原因。


--------------分割线--------------------


有人说,Python慢,who care? 用C来解决真正的性能问题


有人说,Python不适合大项目,Instagram、Youtube不够大?那是因为视野不够大


有人说,Python是弱类型语言,我想你要表达的是它是动态语言


有人说,Python太分裂,python2、python3、(python4?),python提供了six做兼容,任何有历史的语言都躲不过兼容问题,因为世界变化太快。



北京市东城区天坛路57号2层,100005 京ICP备2021023710号
易讯教育 版权所有 2008-2024 Powered by MetInfo 5.3.18 ©2008-2024 www.metinfo.cn