多掌握一门编程语言,多一个选择,多一个机会,更何况要学一门贱人花儿都爱的Python语言。它目前可以在编程语言排名中占据第三位。是名副其实的“探花郎”。无论你用它做什么(网络爬虫、人工智能、网络应用等),我们都不会输,开始是有益的。
如果有趣,就多说几句,如果“无趣”,总结一下。本章总结了 Python 的发展历史和特点。
1.1 了解
许多程序员不喜欢了解编程语言的来源和发展历史。他们觉得读起来很无聊,废话很多,但我还是建议你花点时间看一下。Python的源码确实很有意思。
1.1.1 Python 源码
1989 年圣诞节,来自荷兰的英俊青年 Guidio van Rossum 决定改进他参与设计的 ABC 语言,以打发无聊的时光。随着研究的深入和功能的完善,其性质已超越ABC。在命名新的脚本语言时,他想起了自己最喜欢的喜剧团体 Monty Pythoh,因此将其命名为:Python。
通过这个故事,我终于知道了为什么我们不能发明一门编程语言,是的,那是因为无论我们在什么假期,我们都不会感到无聊,而且它也是丰富多彩的。
时隔两年,也就是 1991 年 2 月,Python 终于向公众发布了第一个公开版本,其版本号为 0.9.0。它是用 C 语言开发和实现的,支持类、函数、异常处理和数据结构,如列表和字典。
随着更多程序员的加入,Python 加紧步伐,于 1994 年 1 月发布了 Python 1.0;Python 2.0 于 2000 年发布;2008年12月,正式发布Python3.0,也称为“Python 3000”或“Py3K.
随着近年来 Python 3 的使用量迅速增加,建议作为新手直接学习 Python 3。没必要从 Python2 入手,毕竟 Python3 和 Python2 是不兼容的,而且 Python 已经正式宣布从 2020 年 1 月 1 日起停止对 Python 2 的更新和官方支持。
说到这里,你可能会问:Python是如何得到这么多程序员的喜爱的,它的特点是什么?
1.1.2 有什么特点
功能挺多的,我们只讲几个重点。
(1) 简单易学
Python的语法就像阅读英语一样。简洁明了,没有多余的死角,让你更专注于解决业务问题,无需花时间学习语言本身。
它是一种面向对象的高级语言,具有封装、继承和多态等特性,这意味着您不必考虑如何管理程序内存使用等低级细节。
(2) 免费和开源
Python 是 FLOSS(免费/开源软件)之一。简而言之,您可以自由分发软件的副本、阅读其源代码解释型 编译型语言 跨平台性好,甚至无需支付一分钱即可对其进行任何更改。
无论您是学习还是开发商业软件,您都不必担心许可问题。商业软件不可避免地给客户绑定了产权,无法自拔,而开源软件可以让商业客户摆脱这种折磨。
(3) 跨平台
如果在某种操作系统下开发的软件也可以在其他系统上运行,那是一件很幸福的事情,Python可以满足。
如果您不使用依赖于系统功能的代码,您的 Python 程序无需任何修改即可在 Linux、Windows、FreeBSD、macOS、Solaris、OS/2、Amiga、AROS、BeOS、Palm OS、VxWorks 上运行, PlayStation 和其他平台。
(4) 丰富的库
Python 有很多标准库和第三方库,几乎可以在各个领域找到你想要的库,这意味着你可以提高工作效率,加快开发速度,而无需重新发明轮子。
它有用于正则表达式、文档生成、单元测试、线程、数据库等的标准库。还有网络浏览器、FTP、电子邮件、XML、密码学、GUI(图形用户界面)、Tk 和其他系统相关操作。
还有许多其他高质量的 3rd 方库,例如用于桌面系统开发的 wxPython、用于科学或数值计算的 Numpy 和 Matplotlib 等等。
(5) 解释
Python是一种解释型语言,这意味着它在运行前不需要编译,只在程序运行时进行翻译。专门的解释器负责在执行每个语句时解释程序代码。
与编译型语言(如C++或Delphi)相比,Python的运行效率会低一些,但好在它的开发效率高,空间换来了时间。
随着硬件的升级和设计思路的改变,编译型和解释型语言越来越通用,而解释型语言的特性也让编译器服务商愿意花费更多的时间和成本来优化解释器。语言性能超过编译语言只是时间问题。
1.1.3 应用领域
国外推特、谷歌、雅虎、Facebook、豆瓣、国科、春雨医生、Quora等国内知名公司都在使用Python。我们来看看它可以应用于哪些领域。
(1) 人工智能
各种人工智能算法、机器学习、神经网络、深度学习等大多都是用 Python 编写的,尤其是 PyTorch 推出之后,更让它站在了 AI 时代的前沿。
PyTorch 具有动态图机制、灵活的网络构建、强大的社区等诸多优势。由于其灵活、动态的编程环境和用户友好的界面,它受到人工智能研究人员的高度评价。
(2) 网络爬虫
在爬虫领域,有很多Python开源库,而且好用。其中最突出的是 Scrapy 框架。
Scrapy 是一个用于爬取网站数据和提取结构数据的应用程序框架。只需要实现少量代码,即可快速抓取数据内容并进行分析统计。
(3) 网络应用程序
基于 Python 的 Web 开发框架比关键字还多,如 Django、Tornado、Flask、web.py、Bottle 等。
其中,Django架构应用范围最广,开发速度非常快,学习门槛低,可以帮助你快速构建可用的Web应用程序。
(4) 桌面软件
开发了这么多年的程序,常被说是跨平台、跨平台,但真正跨界的应用又有多少呢?大多数 Web 应用程序,在开始设置平台之后,以后很少更改。
桌面系统不同。从一开始就希望它可以在多个平台上运行,并提供给更多人使用。Python在这方面也毫不含糊,提供了PyGTK、PySide、PyQT、WxPython等框架,用于桌面系统和跨平台的快速开发。
其中,使用 WxPython 的公司最多,也是 Python 创始人兼兄弟 Guidio 的最爱。
(5) 游戏开发
在网络游戏的开发中,Python有很多应用。与 C++ 或 Lua 相比,Python 具有更高层次的抽象能力,可以用更少的代码描述游戏业务逻辑。
非常适合写1万行以上的项目,可以把网游项目规模控制在10万行代码以内。
其中,Pygame游戏框架封装了图形、动画、文本、音频等操作,简单易用,是众多游戏开发工程师的福音。
(6) 科学计算
早期,NASA 和 Google 使用 Python 进行各种复杂的科学运算解释型 编译型语言 跨平台性好,积累了丰富的科学计算库。
随着 NumPy、SciPy、Matplotlib 等众多库的发展,Python 越来越适合科学计算和绘制高质量的 2D 和 3D 图像。
(7) 云计算开发
如果你了解过云计算相关的技术,你应该知道目前流行的云计算框架 OpenStack 是由 Python 开发的。如果你使用它,你需要有 Python 相关的技能。
几乎每个云计算服务商都为Python应用提供了相关的接口,有了它就可以快速进行集成开发。
(8) 财务分析
数据分析已经渗透到各个行业,尤其是金融领域,应用最为广泛。了解和掌握Python金融数据分析对未来的就业颇具吸引力。
Python中的Numpy、Pandas、Scipy等数据分析模块可以实现财务分析策略,如“双均线”、“周规交易”、“羊驼策略”等。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 欧资源网