总是听说Python却不知道是什么?看完这篇文章就明白了
导读:此文章的内容主要介绍Python是什么,以及了解Python能做什么,希望能给读者深入浅出的介绍一下Python,先通过了解建立初印象,再深入学习编程。
本文通过以下几个部分对Python进行介绍:
Python背景知识Python是什么?Python能做什么?Python的特点?我适合学Python吗?做为未接触过Python的你,在看见Python这个单词的时候,是否会在脑海中浮现上面这些疑问?
希望通过本篇文章,能解答你心中的疑问。
一、Python背景知识
1、字面量
Python的中文意思是“蟒蛇”,这也是LOGO的来源。学习怎么读请点击在线发音。
发音这点其实很重要,我们学习编程,在碰到陌生的高频单词时,一定要学会正确的发音,不然工作几年后,一开口读的就是错的,除了贻笑大方,还会让人感觉不专业。
2、作者
Python创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。
3、为什么要叫Python?
因为作者在开发这个语言的时候正在阅读《蒙提.派森的飞行马戏团》(Monty Python’s Flying Circus)(1970年代的BBC喜剧系列)。(不得不佩服大佬,取名字就是这么随意)
4、为什么要创造Python?
ABC语言是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。
但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。
于是,Python语言被设计出来,具备了简洁性、易读性以及可扩展性等特点。
二、Python是什么
Python是一门编程语言。别笑,正确的认识一个名词很重要。现在流行的技术名词很多很多,例如Qt,C++,Golang,React,Angular,Java,JS,Nodejs等等,你能正确的分清楚她们吗?Python是一门高级语言,其他高级语言还有C++、Java、C#、PHP等等。Python是一门解释型语言。那么你会问了,解释型语言是什么意思?这里先抛出另一个概念:编译型语言,后续会有专门的文章讲解编译型语言与解释型语言的区别。Python还是一种“胶水”语言,利用Python各种各样强大且丰富的库,我们程序员可以把其他语言(典型的如C、C++语言)开发的模块很简单地揉合在一起,而其他语言想要完成同样的工作,则需要耗费更多的时间和精力。三、Python能做什么
Python应用广泛,海量互联网巨头企业中都在使用Python,国内的有BAT、新浪、搜狐、网易等等,国外的有Google、Youtube等等,甚至NASA从1994年起就开始使用Python。
在各个内容平台以及编程社区上都有不少关于Python应用方向的讨论,但总结来说,Python能做的方向不外乎以下几种:
1、网络爬虫:提到Python,很多人第一时间会想到爬虫,即便没用过可能也已经听过了。简单来说,Python在爬虫领域占据着绝对优势,只要你有闲心去研究,爬虫可以给你的工作带来很大帮助,毕竟想爬啥就能爬啥。
2、数据分析:如今是大数据的时代,用户大数据以及金融数据分析都需要用到Python,甚至可以说Python是数据分析领域的必备语言。
3、科学计算:从上世纪97年开始,NASA就在使用Python进行各种复杂的科学计算,到如今Python各种库越来越完善,Python也就越来越适合做科学计算。虽然相比之下Matlab更加专业,但毕竟Python以及相关库免费且易用,所以应用的也就更广泛。
4、人工智能:人工智能与数据分析一样,Python都是公认的必备语言。虽然人工智能的底层仍然依赖的是C/C++,但是从程序编写的简易程度以及使用上手的难度来说,Python都是人工智能开发的首选语言。
5、Web后端:后端开发语言选择中,除了PHP、GO、JS、JAVA等外,Python经常被用来开发Web后端,尤其是随着Python的Web开发框架逐渐完善、成熟,使用Python开发后端也变得更加轻松。比如Google搜索功能背后,都广泛使用了Python。
6、自动化运维:Python是很多系统中的标准组件,而Python又在服务器管理上拥有丰富的功能和库,所以非常适合做系统管理和运维。
7、游戏开发:Python的特性和数据类型决定了Python适合去处理游戏开发中的业务逻辑,同时Python可以直接调用OpenGL,也有很多Python实现的游戏引擎可以直接使用。
8、客户端软件开发:客户端软件开发方面,Python有相关的库可以实现,平常用来开发简单的客户端软件也非常迅速,但真要做大型客户端,还是不太推荐,毕竟效率是个大问题。
四、Python的特点
1、优点
简洁优雅、明确简单:Python程序看上去会相对简单易懂,对新手友好,并且学习曲线不陡峭。生态丰富:有大量优质的第三方的库,就像一个百宝箱,所有你想要的工具都有。这也是上述Python的应用广泛的原因。移植性好:由于开源的本质,Python开发的程序可以被移植到不同平台运行,甚至无需修改就可以在各个系统上运行。扩展性好:不管是揉合其他语言开发的模块,还是将Python开发的模块嵌入到其他程序,都是非常容易实现,且很好扩展的。2、缺点
速度慢:由于Python是解释型语言,速度慢和效率问题也就成了天然的弱项,比如与C语言甚至是JAVA这类编译型语言相比,都会慢一些。每每争论起来,这是一个逃不脱的话题,但这种慢在大部分情况下都不会被用户感知到,毕竟页面刷新用时一秒或者两秒对用户来说没什么差别。当然,在对速度和效率比较敏感的场合,这样的问题还是不能忽视的。保密性不足:因为是解释型语言,源码就会是明文状态,也就是直接运行源代码,这也就意味着保密性不足会在某些场合成为问题。不过这也不能算问题,如果保密性要求高,完全可以不选用这类语言进行开发。五、我适合学Python吗?
现在的趋势是,国内大量小学生已经开始学着使用Python了,Python与树莓派等嵌入式平台结合,可以让小学生学着去做兴趣中的科技,比如控制小车,甚至是机器人。
所以,难道你比小学生的理解能力差吗?!
很显然不是,正是由于Python入门简单,门槛低,学习曲线不陡峭,生态丰富,很容易找到现成的解决方案,因此对于新手来说,就是非常友好的一门编程语言。
如果你是新手或者转型者,不妨从Python入手,从浅入深,先学会编程的思想与方法,再深入学习编程理论知识,坚持下去,不用半年,你就能成为一个真正的Coder!
看到Python如此丰富的应用场景,以及简单易用的特点,你是否心动了呢?
————————————————
我是@杨老师教你写BUG,想学习编程的可以关注我。我会陆续更新Python、C/C++、Golang等方面的系列教程。