什么是Python,为什么要学Python,谁在用Python


什么是python

为什么要学python

在这里插入图片描述
上图是19年8月的TIOBE排行榜,也就是编程语言排行榜。首先python是一门语言,这个应该是不用多做解释的,从上图我们可以看出呢,目前他是全球第3大编程语言,这也算是多亏了中国的程序员们,在前几年python都是很稳定的排在大概第七八位的样子,后来因为人工智能的时代来了,大家都开始用python,也算是感谢我们中国的IT培训机构,给他贡献了好几个点,成为全球第三大编程语言。

首先呢,他可以做爬虫开发,什么叫爬虫呢,我们后面会深入讲,现在你大概理解的呢就是你现在 在网络上看到的各种信息都是爬虫给你爬过来的,像你在百度上搜到的所有的信息,是百度用爬虫技术给你爬过来的。大概全球80%的爬虫都是爬虫写的。

游戏开发,很多游戏后台的逻辑都是用python写的,像我们玩的吃鸡,王者荣耀这些游戏都不是python做的,但是据腾讯负责整个公司游戏运维的哥们儿讲,他们公司做的蓝鲸系统(一个运维平台)就是用python做的,也就是说你们玩的吃鸡,王者荣耀就是由python写的程序来维护的,还有用python开发的游戏,什么 文明 (一个大型游戏),就是由python写的。

信息安全,这个词一蹦出来大家的第一反应是黑客,那么其实黑客平时最喜欢用的一门语言也是python,来写各种攻击别人网站的程序,都是用的python,因为python的效率高。

系统运维,这个应该挺好理解的,如果做的是自动化运维你需要会开发的话,你的首选一定是python。

数据分析,做数据分析的用的最多的语言之一就是python,金融量化分析,判断哪些股票会涨哪些股票会跌,要写出来一个模型,这个模型里面有各种因素,什么市场情况,公司的基本面等等。然后你可以根据他给你的提示去什么时候买什么时候卖。

Web开发,大家可能会知道做网站开发的,用Java,PHP的, 那应该算是古典互联网,那些老人们在用,目前一般情况下新型的网站都是由python来开发的,效率高。

人工智能,人工智能里涉及的领域非常的多,什么无人驾驶,机器学习,数据分析,大数据挖掘,图像识别,神经网络,自然语言处理(NPL)等等,每一个领域都够你研究很久的,所以不是说你会python就会人工智能,python火确实是和人工智能有很大的关系,因为人工智能里面各种核心的算法大多数都是由python来实现的。不能把人工智能和python划等号,人工智能的核心是算法,不是语言,他也可以用Java去写,用C++去写,只是因为python的开发效率高,所以不要听市面上的各个培训机构讲会了python就能做人工智能,不是的,人工智能你要学各种算法,首先你的数学不能差,线性代数,统计学,微积分等等,去招聘网上一看,人家都要求都是博士,硕士,还必须要是计算机科班生。

谁在用Python

在这里插入图片描述
上图是各个用python的公司,好像看起来有大部分在国内不能用哈,不难发现好像美国用python的都是大公司,在国内好像用python的都不是那种特别大的公司,但是这不就意味着那些好像不是那么大的公司总会成长为大公司,比如说知乎。

什么是Python

python是个编程语言,python的创始⼈为吉多·范罗苏姆(Guido van Rossum)。江湖人称龟叔,1989年的圣诞节期间,龟叔闲着没事干为了在阿姆斯特丹打发时间,决⼼开发⼀个新的脚本解释程序,作为ABC语⾔的⼀种继承。 其实python在前期的发展并不好,他真正开始火起来是在2012年之后,在此之前python一直是不温不火的状态,因为没有人关注他,也没有人用它,在他慢慢的发展过程中,不同于其他的编程语言,别的编程语言是越发展越显得臃肿,而python越发展越简单,到最后他写一个程序可能只需要一行,而其他的编程语言可能需要五行甚至是七行。
在这里插入图片描述

就是因为他的简单,所以就很适合不大懂编程的人去学他,什么叫做不大懂编程的那些人呢,比如说我是一个数学家,我研究了一个很牛逼的算法,我想把这个算法放在计算机里面去实现,跑起来,验证一下我的算法是否合适,那么找编程语言的时候,你想想数学家一定会找一个越简单的,而且性能还不错的语言,所以python就脱颖而出了,然后这些个人在用着,慢慢慢慢的发展,于是乎python就被扣上了一个人工智能的头衔,用它去做人工智能领域,原因是他的语法很简单,用起来很容易,所以大家都用python做人工智能。

没错,又是这张图。既然要开始学编程语言,就科普一下几个常见的编程语言,看看我们未来都能遇见那些个程序员。

Java,他从最早最早开始的时候主打的就是开源,而且Java的快元社区非常非常的多,做的开源软件也特别的多,而且他有一个最大的优点就是他稳定,他很庞大都是他很稳,怎么跑都跑不坏。他一直受各大程序员们或者厂商们的喜爱。Java还有一个特点就是Java程序员的开发成本相对来说比较低,有大量的第三方的东西支撑着他,目前还是排行世界第一,这个地位一般情况下撼动不了,他和C基本上相互交替着出现在top1.

C,C语言的优点是什么呢,是性能。用C写的程序的性能是除了汇编以外性能最高的,C用来做什么呢,一般情况下C语言是用来写操作系统的,像我们平时用的Windows,Linux基本上都是拿C语言写的,所以可以说如果操作系统内核不换代的话,C是死不掉的。然后C还是什么呢,几乎所有的编程语言底层都是用C来写的,包括什么python,Java,C++,C#,所以C是根,他出现的时间特别早。

C++,他涉及的领域也很多,我所了解的C++,很多人都是那他来做游戏,像平时玩的吃鸡啊,英雄联盟啊。

C#,这是微软出的,怎么说呢,C#就像是微软把Java,C++的各自的优点结合在了一起,C#主要也是做游戏领域的和windows,PS4,PSP都是他写的。

Visual Basic .NET 市面上不常见,可能一些大学还在教,个别政府机构会考虑用.NET,一般的民营企业很少。

PHP ,被称为全世界最好的编程语言没有之一(PHP程序员自封的)!不是黑哈,PHP好不好呢,确实好,开发效率特别高,性能也OK,但是他最大的缺点是什么呢,他是能做网站,也做一个超大的网站,有意思的是这个东西用的人很少,但是他们的工资很高,江湖上物以稀为贵,目前我了解到的是PHP是排行榜里面就业形势是最好的,但是由于他的局限性太大了,如果出现了一个比他还简单的语言,那么他会瞬间就垮掉。

JavaScript,这是之后我们前端要学到的,你看到的网站什么的100%会有JavaScript。

SQL,这是一个数据库相关的语言。

Objective-C,苹果mac,ios之前使用的编程语言。

扯了这么多,回来我们看看python主要的应用领域:

云计算: 云计算最⽕的语⾔, 典型应⽤OpenStack
WEB开发: 众多优秀的WEB框架,众多⼤型⽹站均为Python开发,Youtube,Dropbox, ⾖瓣。。。, 典型WEB框架有Django
科学运算、⼈⼯智能: 典型库NumPy, SciPy, Matplotlib, Enthought,librarys,pandas
系统运维: 运维⼈员必备语⾔
⾦融:量化交易,⾦融分析,在⾦融⼯程领域,Python不但在⽤,且⽤的最多,⽽且重要性逐年提⾼。原因:作为动态语⾔的Python,语⾔结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很⽜逼,⽣产效率远远⾼于c,c++,java,尤其擅⻓策略回测
图形GUI: PyQT, WxPython,TkInter
python是⼀⻔什么样的语⾔
型定义语⾔和弱类型定义语⾔,我们先看编译型语⾔和解释型语⾔. 稍后再说强类型和弱类型
编译和解释的区别是什么?

编译器是把源程序的每⼀条语句都编译成机器语⾔,并保存成⼆进制⽂件,这样运⾏时计算机可以直接以机器语⾔来运⾏此程序,速度很快;

⽽解释器则是只在执⾏程序时,才⼀条⼀条的解释成机器语⾔给计算机来执⾏,所以运⾏速度是不如编译后的程序运⾏的快的.

这是因为计算机不能直接认识并执⾏我们写的语句,它只能认识机器语⾔(是⼆进制的形式)

flow_chart.png

编译型vs解释型
编译型

优点:编译器⼀般会有预编译的过程对代码进⾏优化。因为编译只做⼀次,运⾏时不需要编译,所以编译型语⾔的程序执⾏效率⾼。可以脱离语⾔环境独立运⾏。

缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运⾏环境⽣成机器码,不同的操作系统之间移植就会有问题,需要根据运⾏的操作系统环境编译不同的可执⾏⽂件。

解释型

优点:有良好的平台兼容性,在任何环境中都可以运⾏,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不⽤停机维护。

缺点:每次运⾏的时候都要解释⼀遍,性能上不如编译型语⾔。

python解释器
当我们编写Python代码时,我们得到的是⼀个包含Python代码的以.py为扩展名的⽂本⽂件。要运⾏代码,就需要Python解释器去执⾏.py⽂件。

由于整个Python语⾔从规范到解释器都是开源的,所以理论上,只要⽔平够⾼,任何⼈都可以编写Python解释器来执⾏Python代码(当然难度很⼤)。事实上,确实存在多种Python解释器。

CPython

当我们从Python官⽅⽹站下载并安装好Python后,我们就直接获得了⼀个官⽅版本的解释器:CPython。这个解释器是⽤C语⾔开发的,所以叫CPython。在命令⾏下运⾏python就是启动CPython解释器。CPython是使⽤最⼴的Python解释器。教程的所有代码也都在CPython下执⾏。

IPython

IPython是基于CPython之上的⼀个交互式解释器,也就是说,IPython只是在交互⽅式上有所增强,但是执⾏Python代码的功能和CPython是完全⼀样的。好⽐很多国产浏览器虽然外观不同,但内核其实都是调⽤了IE。CPython⽤>>>作为提示符,⽽IPython⽤In [序号]:作为提示符。

PyPy

PyPy是另⼀个Python解释器,它的⽬标是执⾏速度。PyPy采⽤JIT技术,对Python代码进⾏动态编译(注意不是解释),所以可以显著提⾼Python代码的执⾏速度。绝⼤部分Python代码都可以在PyPy下运⾏,但是PyPy和CPython有⼀些是不同的,这就导致相同的Python代码在两种解释器下执⾏可能会有不同的结果。如果你的代码要放到 PyPy下执⾏,就需要了解PyPy和CPython的不同点。

Jython

Jython是运⾏在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执⾏。

IronPython

IronPython和Jython类似,只不过IronPython是运⾏在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值