PYTHON 从入门到放弃
python诞生
python之父Guido(吉多)想创建一种语言,具备全功能、易学、可扩展性等功能,于是在1989年圣诞节期间闲来无事,python语言诞生,并经过将近2年的完善,与1991年公开发行。
python特点
- 简单。python遵循"简单、优雅、明确"的设计哲学;
- 高级。python是一种高级语言,相对于c,牺牲了性能而提升了编程人员的效率。它使得程序员可以不用关注底层细节,而把精力全部放在编程上;
- 面向对象。python既支持面向过程,也支持面向对象;
- 可扩展。可以通过c、c++语言为python编写扩充模块;
- 免费和开源。python是FLOSS(自由/开放源码软件)之一,允许自由的发布软件的备份、阅读和修改其源代码、将其一部分自由地用于新的自由软件中。这一点很重要,它对Python用户群的扩大起到了至关重要的作用,而使用者的增加又丰富了Python的功能,形成一种良心循环;
- 边编译边执行。python是解释型语言,边编译边执行,而C、C++、Java等是编译性语言,先编译后执行,需要事先通过编译器编译,生成能被计算机所读懂的可执行文件;
- 可移植。python能运行在不同的平台上;
- 丰富的库。python拥有许多功能丰富的库;
- 可嵌入性。python可以嵌入到c、c++中,为其提供脚本功能。
python应用领域
- Web前端开发。
python相比php\ruby的模块化设计,非常便于功能扩展;多年来形成了大量优秀的web开发框架,并且在不断迭代;如目前优秀的全栈的django、框架flask,都继承了python简单、明确的风格,开发效率高、易维护,与自动化运维结合性好,python已经成为自动化运维平台领域的事实标准;众多大型网站均为python开发,Youtube, Dropbox, 豆瓣; - 云计算
python语言算是云计算最火的语言, 典型应用OpenStack; - 人工智能应用
基于大数据分析和深度学习而发展出来的人工智能本质上已经无法离开python的支持,目前世界优秀的人工智能学习框架如Google的TensorFlow 、FaceBook的PyTorch以及开源社区的神经网络库Karas等是用python实现的,甚至微软的CNTK(认知工具包)也完全支持python,而且微软的Vscode都已经把python作为第一级语言进行支持。 - 系统运维工程项目
python在与操作系统结合以及管理中非常密切,目前所有linux发行版中都带有python,且对于linux中相关的管理功能都有大量的模块可以使用,例如目前主流的自动化配置管理工具:SaltStackAnsible(目前是RedHat的) - 金融理财分析
量化交易,金融分析,在金融工程领域,python语言不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测。本人从事量化交易,在测试环境中,python还是很擅长的,在生产环境中要看策略类型了,基于高频交易的,python并不擅长,是由其本事是解释性语言决定的,速度会比编译性语言慢。 - 大数据分析
python语言相对于其它解释性语言最大的特点是其庞大而活跃的科学计算生态,在数据分析、交互、可视化方面有相当完善和优秀的库(python数据分析栈:Numpy Pandas ScipyMatplotlipIpython), 并且还形成了自己独特的面向科学计算的python发行版Anaconda,而且这几年一直在快速进化和完善,对传统的数据分析语言如R MATLAB SAS Stata形成了非常强的替代性。