Python在最近几年在网络上的曝光率越来越高,在著名的技术交流网站 Stack Overflow 的2019年开发人员调查报告中,有25.7%的软件开发从业则表示Python是他们最想学的编程语言。
因为Python容易上手且覆盖面广泛,是当下最热门的编程语言之一,加上公众号和一些线上教育平台的推广,仅有三十年左右发展时间的Python已经成为了现有的600多种编程语言中的“网红”,并在多个领域扮演着重要的角色。
Stack Overflow 2019 年最想学习的编程语言榜单
起源Python的创始人是吉多·范罗苏姆,在1989年的圣诞节期间,他为了打发时间,决定开发一个新的脚本解释程序来作为ABC语言的一种继承。他选用了英国肥皂剧《Monty Python》(飞行马戏团)中的名字——Python(意为蟒蛇) 来命名这种语言。
Python的特点1.简单
Python具有语法简单、语句清晰的特点,能够让程序员在编写代码时更容易地优化代码的结构使其更加流畅和简洁,把更多的精力集中在编程的对象和思维方法上。
2.面向对象
Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
3.丰富的标准库
Python十分庞大的标准库,在面对各种各样的编程需求时能够处理各种各样的工作,包括文档生成、单元测试、数据库、网页浏览器、线程、密码系统Tk和其他与系统有关的操作等。这被称作Python的“功能齐全”理念。除此之外,Python还有许多其他的库,如wxPython、Twisted和Python图像库等等。
应用的领域1.Web应用开发
虽然目前web应用开发的主流编程语言依然是PHP和JS,但是近几年Python被使用的频率越来越高。并且随着Python在Web开发上的框架日益成熟(如Django),使得程序员在这一领域可以更加高效地开发和管理越来越复杂的Web程序。
例如,全球知名的搜索引擎谷歌,就在其搜索系统中广泛地使用了Python。
2.人工智能
Python 在人工智能领域内有着很广泛的使用,在机器学习、神经网络和深度学习等方面,都是主流的编程语言。而人工智能的是在大数据分析和深度学习这两大基础上发展起来的,这两个领域已经没有办法离开Python的支持了。
目前世界上最尖端的人工智能学习框架,比如 Google 的 TransorFlow(神经网络框架)和开源社区的 Karas 神经网络库等,都是基于 Python 的编程环境下实现的;微软的 CNTK也完全支持 Python,并且该公司开发的 VS Code,也已经把 Python 作为第一级语言进行支持;同时Python在数据分析方面有着出色的表现,可以支持各种数学运算和绘制更加精密的图像。
3.爬虫
网络爬虫是一种按照一定的规则,自动地在万维网上抓取信息和程序的脚本,通俗一点说就是在web页面上去抓取想要获得的数据。爬虫的目标对象十分广泛,不论是文字、图片、视频,任何结构化非结构化的数据爬虫都可以爬取。
优点与缺点1.优点:
(1) Python优点是简单、明确、入门者很容易掌握其编程的思想和特点并且进行更加深入的学习。
(2) 开发效率高:强大的第三方可以支持Python实现计算机的绝大部分功能,相应的库中有相关的模块进行支持,可以在下载调用后直接在库的基础上再进行开发。
(3) 可移植性:由于Python开源的特点,已经被移植在许多平台上。在避免使用依赖系统特性的模块的基础上,使用Python编写的程序几乎可以在所有操作系统上运行。
2.缺点:
(1) 代码不能加密:因为Python是解释性语言,它的源码都是以名文形式存放的,如果你要编写的项目的要求源代码是加密的,那Python是无法做到这一要求的。
(2).线程不能利用多核问题:GIL即全局解释器锁是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。