Python为什么这么多人说好?

欢迎进入Python的奇妙博物馆

既然点进来了,那你肯定好奇了(不好奇也没事 ,多学学总归是好的嘛),那Python这几年凭什么这么火?不仅仅火在IT行业,甚至是其他领域都已经被Python染指了,不分行业、不分年龄,这家伙凭什么这么火?

简单来说,就凭着它足够优美简洁的代码语言(原来代码也看颜值? ),丰富强大的资源库,比其他语言更加简洁易懂,像个万能胶水一样,什么东西都能粘到一起,能够将其它语言的东西为自己所用,简直不要太方便。但说到这可能大家还是不太能直接了解Python到底有什么不同能让它这么火,那就带上你的疑问一起来了解一下吧。

Python的诞生

其实Python已经“出生”很多年了,但为什么是近几年才像坐了火箭般的火了起来呢,我们先了解一波Python是怎么来的吧,Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。
Python之父
是的,就是这个头发浓密的男人,在1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python’s Flying Circus)。
神奇吗,Python最开始居然是因为打发无聊才诞生的!在这里插入图片描述

火爆的原因

接下来,进入正题,它究竟为什么火爆呢?因为它具有以下的特点和“后台”,不知道是否是你想的那样呢?
1.简单易学
2.开发效率高
3.免费开源
4.移植性强
5.解释性语言
6.支持面向对象
7.可扩展
8.可嵌入

Python的特点还有很多,这是相对重要的八个特点
可能有的人会对这些特点当中的某些不太理解,比如:开源指的是什么?移植性强是什么?可拓展是什么?可嵌入跟可拓展的不同之处又在哪?
别急,一一为你解答

免费开源

Python最初呢是使用C语言编写的,这些原始的C语言代码是可以下载和查看的。你可以把Python想象成一个强大的机械工具,由很多的零件组成,但是这个工具的设计图纸谁都可以免费查看。

移植性强

我们使用的电脑和浏览的网站程序的服务器系统不是一样的,手机的系统也分为Android和ios,但我们使用Python写的程序基本不用修改,就能够在这些系统上运行起来,这种强大的能力在技术界被称作可移植性强。

可扩展性

简单来说就是Python本身的运行速度不快,但是他可以控制由C语言这类编写的运作快的程序工作。

可嵌入和可拓展的不同之处

可嵌入性和可扩展性不同之处的关键在于项目中Python所处的位置。
可拓展性在项目中的主导语言是Python,C/C++语言为Python打下手,解决Python的性能瓶颈问题;可嵌入性在项目中的主导语言是C/C++,Python为C/C++语言打下手,解决C/C++的开发效率问题。

但是!在这些特点之外,Python还有“后台”,这个后台是什么呢?
当然就是使用Python的大量人员。Python因其在web开发等方面的应用,今年来已经快速赶超了许多的其他语言。现如今,Python在科学计算、数据挖掘和及其学习等热门领域都有着广泛的应用。
这些热门领域并非编程行业,但Python的使用可以起到一个辅助功能,比如科研人员,编程领域小白等,这些并非一定要学习众多编程方面知识的人,Python的使用减少了在需要用该方面知识来辅助自己的主要工作或学习研究时所需要付出的时间,提升了一定的学习效率。这也是它快速走红的原因之一。
换句话来说,现在的Python就像是当红的流量级明星,拥有着大批量的粉丝。相对于其他语言来说,它相对容易,也更加有趣,只有一些相对严格的语法规则。做到了即使是初学者也能理解代码。另一方面来说,推动它走红的也是它自身,Python的发展基本可以说是由社区自我驱动了,因为它确确实实给开发者带来了愉悦的编程体验。所以,想要学习编程方面的知识的小白选择Python作为敲门砖也是不错的选择。

语言热度排行

可能有的人会杠了,我其实没有听过Python这个词,我怎么知道它有多少人用,你说它火它就火了吗?OK,那我们用数据来证明一下,大部分人应该都了解或听说过这门语言,当然我们可以从数据上来看,这里给大家看的数据是来自TIOBE排行榜。
TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据,反映某个编程语言的热门程度。在排行榜的Python的热度一直都是呈上升趋势,且居高不下,除了老大Java跟老二C之外,Python排行老三
在这里插入图片描述
在这里插入图片描述
另外,也有对Python语言的热度进行了搜索数据的热度统计,下面附上两张对比图(来源哔哔哩哩up主)
在这里插入图片描述
在这里插入图片描述
但语言的热度并不能判定语言的好坏,热度数据需要理性看待!

归属问题

Python属于什么语言?答案:脚本语言
小白可能要陷入疑惑了,那脚本语言是什么?
脚本语言是一种解释性的语言,例如Python、vbscript,javascript,installshield script,ActionScript等等,它不像C/C++等可以编译成二进制代码,以可执行文件的形式存在,脚本语言不需要编译,可以直接用,由解释器来负责解释
相对于编译型计算机编程语言:用脚本语言开发的程序在执行时,由其所对应的解释器(或称虚拟机)解释执行。系统程序设计语言是被预先编译成机器语言而执行的。脚本语言的主要特征是:程序代码即是脚本程序,亦是最终可执行文件。脚本语言可分为独立型和嵌入型,独立型脚本语言在其执行时完全依赖于解释器,而嵌入型脚本语言通常在编程语言中(如C,C++,VB,Java等)被嵌入使用。

地位之争

可能很多人就不明白了,为什么Python都这么火了还是没能取代Java老大的地位呢?它什么时候才能排第一呢?
编程语言的地位之争一直都是大家津津乐道的话题。okok,那就讲讲Python为什么终究没能上位成功。最主要同时亦是最致命的原因——性能
Python是赢在开发快上,但同时也带着相应的缺点,那就是性能方面远不如用Java/C开发的。
并且一门语言为何能一直高居傍一不下?因为其语言的整体使用上来讲是稳坐宝座的。Python在语言本来就比Java要慢,按照目前的数据来看,Python想要超过Java/C的话仍是差距较大的。
再者,Python属于脚本语言,也称之为动态语言。动态语言带有的缺点就是代码运行期间有可能会发生与类型相关的错误,并且这个错误在你编译时并不能及时发现,只有等到运行时才发现,这就会导致在编写大型程序时十分不利,通常问题的发现当然是越早越好,这也成为了Python发展的一大弊端,成为其性能上的瓶颈,这也是其不能超越Java/C的原因之一。另外动态语言也存在不方便调试,命名不规范时会造成读不懂,不利于理解等问题。动态语言不方便调试这个缺点就足以让Python在大型项目中失去竞争力。
脚本语言的所带有的优点让Python自带加成技能逐渐火爆起来,那么它的缺点就是限制它发展的最大阻碍,那具体有哪些特点是脚本语言所拥有的?

脚本语言的特点

优点
快速开发:脚本语言极大地简化了“开发、部署、测试和调试”的周期过程。
容易部署:大多数脚本语言都能够随时部署,而不需要耗时的编译/打包过程。
同已有技术的集成:脚本语言被Java或者COM这样的组件技术所包围,因此能够有效地利用代码。
易学易用:很多脚本语言的技术要求通常要低一些,因此能够更容易地找到大量合适的技术人员。
动态代码:脚本语言的代码能够被实时生成和执行,这是一项高级特性,在某些应用程序里(例如JavaScript里的动态类型)是很有用也是必需的。
缺点
脚本语言不够全面:它们会要求一门“真正的”编程语言的存在,必须找一个数据库驱动程序将其内置进脚本语言里。
脚本语言并不是软件工程和构建代码结构的最佳选择,例如面向对象和基于组件的开发。
脚本语言通常不是“通用”语言,但是能够根据专门的应用来调整,例如:PHP。

换一种说法,脚本语言也称之为动态语言,而动态语言都是解释型语言,不管它们是不是面向对象。

那么动态语言又是什么?难道还有静态语言吗?
恭喜,是的。不仅仅有动态语言,还有静态语言。如何区分动态语言和静态语言其实要看变量的类型是什么时候确定的。
动态语言
变量的类型在运行时确定,动态语言的类型检查是在运行时做的。它的优点是方便阅读,不需要写非常多的类型相关的代码;缺点是不方便调试,命名不规范时会造成读不懂,不利于理解等。语言代表:Python、JavaScript
静态语言
变量的类型在编译时确定,静态语言的类型检查是在编译时做的。由于类型的强制声明,使得IDE有很强的代码感知能力,在实现复杂的业务逻辑、开发大型商业系统、以及那些生命周期很长的应用中,依托IDE对系统的开发很有保障;并且由于静态语言相对比较封闭,使得第三方开发包对代码的侵害性可以降到最低。语言代表:Java、C、Go

使用范围

在Python之前,在各种夸张电影及电视剧特别效果的气氛烘托下,可能人们的观念里都认为只要会敲代码的就非常的牛,并且认为学习编程的门槛高,难度大,时间久(容易秃头… )在这里插入图片描述
但其实在Python在越来越频繁的在人们面前出现时,告诉了大家其实编程没有想象中难,并且不一定只是用来开发,还拥有着丰富的用途,比如:、数据分析、下载视频、自动化操作Excel、自动发邮件、地理空间分析、HTML网页自动生成、制作可视化图表、机器学习、数据库管理等等非常多的用途。Python可以做任何事情。无论是从入门级选手到专业级选手都在做的爬虫,还是Web 程序开发、桌面程序开发还是科学计算、图像处理,Python都可以胜任。

工作

Python目前应用较多的领域:

金融: 量化交易,金融分析,在金融工程领域,Python不但在用,,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰易学,库丰富,成熟稳定,科学计算和统计分析都很强大,生产效率远远高于c,c++,java,尤其擅长策略回测

科学运算、人工智能: 典型库NumPy, SciPy, pandas

系统运维: 运维人员必备技能语言

图形GUI: PyQT, WxPython,TkInter

云计算: 典型应用OpenStack

WEB开发: 很多大型网站均由Python为主开发,Youtube, Dropbox, 豆瓣。 典型WEB框架有Django

目前的就业数据看来Python确实是属于一门热门的相对门槛低,但工资收入不错的行业,Python也有可能是你拿到大型IT企业职位的敲门砖。(附上来自拉钩的一些数据)
在这里插入图片描述
看完可能会想,为什么Python明明简单易学,门槛也不高,但它的工作待遇都不错呢?其实总体来看并非说是Python的待遇很不错,数据分析师/人工智能工程师等等这些岗位其实本来的待遇都是不错的,但在Python的火爆下,如果你在自身的基础之上再掌握了Python那当然就比其他人多出一个优势,相当于一个技能加分项。任何行业任何岗位亦是如此,你在自身的基础上再学习到的知识都会给你带来价值,不单指金钱方面的价值。多学一门Python就好比你在玩游戏时充钱了,人民币玩家和普通玩家终究是有硬件上的差距。

学习

由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。在Python火爆的背景推动下,各大院校也相继开设了Python相关课程,在计算机专业的学生多了一门需要学习的语言。许多互联网课程也相继推出Python学习上至大学,下至幼儿园(居然连小孩也不放过!? ),学习要从小抓起。
在这里插入图片描述
在Python的学习中,不需要具备非常多的专业储备知识,从简单的入门就能轻松掌握,你想想如果Python真的非常难学习的话,哪个家长会选择让孩子从小开始秃头呢。

女朋友(技能加速!)

当你学会了Python,你就可以利用这项技能更好的与人相处交流!Python爬取数据可以替我们省下大量的时间,假设一个场景:当你遇见一个妹子并且对她产生了好感,在聊天的过程中,你知道了她的兴趣爱好和崇拜的偶像明星,但如果你不了解这些,没有共同话题的情况下,聊着聊着是不是就没有然后了呢(不懂装懂可能会加快结束话题 )。稍等,让我们加个主角技能,你知道了她的兴趣爱好,但你并不了解的情况下你可以利用Python的数据爬取,快速爬取相关数据,在短时间内了解到大量情况,你们的话题交流就更流畅,比等着国家分配女朋友更快一步。

题外话

所以,学习这件事关联着一个人一生的发展。
在这里插入图片描述
在整个互联网大数据不断快速发展的背景下,语言是会不断更新换代的,但Python能从一开始的默默无闻到现在的耳熟能详,在众多的码农的不断努力下,不负众望的冲在了前面,也说明了这个语言的无限潜力。
因为Python仍旧是目前IT就业市场最受欢迎,最热门的技术技能之一,且容易上手,学会了Python,可以大幅提升自身竞争力。正所谓,技多不压身。
并且当你掌握了一种或多种基础语言之后,你应该就有余力能学习一些更新,更专业的知识。但请你记住,学习一种知识几乎总是会给你带来一些新的好处,即使你不怎么会用得上它,但在学习的过程中,它也能帮助你从不同的角度思考问题,对个人能力也是一种提升。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值