返回
天津达内IT教育
置顶
该校与厚学网暂未合作,平台不保证课程的真实有效性,如有侵权等争议,请及时与厚学网联系处理
招生热线:400-800-2181

学校地址:天津市和平区南市街北安桥南侧合生财富广场2号楼6层601-608

Python是什么?Python是干什么用的?

256 2020-09-25 10:00:28

学习笔记

Python近几年发展的非常迅速,尤其是2017年,随着人工智能概念的兴起,python的关注度也是越来越高,python相继纳入浙江省高考和山东省的小学教材。对于从事IT行业的人来说,对python语言并不陌生,但是其他行业的人可能对python了解的不多,或者听都没听过,今日小编就从多个角度来详细介绍下python这门编程语言,告诉大家python是什么?python可以用来干什么?同时如果你想学习Python的话,也可以根据文章内提到的学习资源,来自学python!


本文摘要:

一、Python是什么语言,python是什么类型的语言?

二、Python是什么意思,python怎么读?

三、Python的发展历程

四、Python未来十年的发展预测

五、Python可以用来干什么?

六、Python为什么这么火?

七、Python和人工智能的关系?

八、Python的优势和劣势

九、谁适合学Python?

十、学习Python的可以从事的工作?

十一、如何入门学习python?

十二、Python入门书籍

三、Python各版本下载:

十四、结语

一、Python是什么语言,python是什么类型的语言?

Python是一种解释型、面向对象、动态数据类型的程序设计语言。

Python由Guido van Rossum于1989年底发明,个公开发行版发行于1991年。

像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。

二、Python是什么意思,python怎么读?

Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/,汉语翻译为巨蟒、巨蛇的意思


三、Python的发展历程

1989年的圣诞节,Guido开始编写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一

种C和shell之间,功能,易学易用,可拓展的语言。

1991年,个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓

展系统。

Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.

1999年 Python的web框架之祖——Zope 1发布

Python 2.0 - 2000/10/16,加入了内存回收机制,构成了现在Python语言框架的基础

Python 2.4 – 2004/11/30, 同年目前流行的WEB框架Django 诞生

Python 2.5 - 2006/09/19

Python 2.6 - 2008/10/1

Python 2.7 - 2010/07/03

Python 3.0 - 2008/12/03

Python 3.1 - 2009/06/27

Python 3.2 - 2011/02/20

Python 3.3 - 2012/09/29

Python 3.4 - 2014/03/16

Python 3.5 - 2015/09/13

2014年11月,Python2.7将在2020年停止支持的消息被发布,并且不会在发布2.8版本,建议用户尽可能的迁移到3.4+ Python初发布时,在设计上有一些缺陷,比如Unicode标准晚于Python出

现,所以一直以来对Unicode的支持并不完全,而ASCII编码支持的字符有限。例: 对中文支持不好Python3相对Python早期的版本是一个较大的升级,Py3在设计的时候没有考虑向下兼容,所以很多早期

版本的Python的程序无法再Py3上运行。为了照顾早期的版本,推出过渡版本2.6——基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。2010

年继续推出了兼容版本2.7,大量Python3的特性被反向迁移到了Python2.7,2.7比2.6进步非常多,同时拥有大量3中的特性和库,并且照顾了原有的Python开发人群。


四、python十年后发展预测

至2027年,Python 已经推出了5.0版本,开发效率极高、运行速度飞快,成为全球受程序员欢迎的开发语言!全球超过50%的 IT 系统是基于 Python 开发的!

这不是危言耸听或夸大其词, Python 是目前我了解的所有语言里,有可能成为符合人类对编程期待的语言。

人类对编程语言的期待是什么?就是“更高更快更强”呀!

就是这样的,分别解释下:

更高——开发效率更高

这一两年 Python 在业内大火, 我一直思考原因是为什么,除了云计算帮 Python 带了一波节奏外,还有没有其它原因呢?必然有,我认为还有一个主要原因就是近几点互联网创业热情高涨,千千万万程序员听了各种创业鸡汤,辞掉了大公司安稳工作玩创业,14,15年的中关村创业大街那叫一个热闹,总理都去过好几次,当时大家都急着要把东西开发出来去拿融资,那时的投资人脑子也是热呀,大批大批的钱投给各创业公司,供他们各种现金补贴抢用户。 时间就是金钱,大家恨不得今天刚有了 idea,明天产品就能上线,产品晚上线一个月,可能战争就跟你没关系了。 因此,一门开发效率极高的语言就此进入开发者眼帘,开发者们因为犹如神助,开发效率不知道比 C, Java 高到哪里去了,众多创业公司选 Python 做为开发语言,虽然那些创业公司大多都失败了,但是催生起了Python 在国内大热的前戏。

更快——运行速度更快

显然 Python 并不是一门快语言,慢也是被很多程序员诟病Python 的主要原因,但近几年 PyPy 解释器在不断的提高着 Python 的运行速度 ,通过 PyPy 运行的程序,在某些场景下速度直接逼近 C 语言,相信再过几年,Python 的运行速度将不再是问题。另外,由于近些 CPU 处理速度的发展,编程语言本身的快慢在大多数业务场景下已不再被做为主要考量(除了对响应速度极为敏感的业务,如搜素)。

更强——功能更强

这是导致 Python 大火的另一个主要原因之一,Python 的标准库和第三方库强大到你无法想象,无论你想从事任何方向的技术编程,你几乎都能找到相应的库支持。

以下仅举几个栗子:

WEB开发——火的 Python web 框架 Django, 支持异步高并发的 Tornado 框架,短小精悍的 flask,bottle, Django 的标语把 Django 定义为 the framework for perfectionist with deadlines

网络编程——支持高并发的 Twisted 网络框架, py3 引入的 asyncio 使异步编程变的非常简单

爬虫——爬虫领域,Python 几乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib 等,想爬啥就爬啥

云计算——目前火知名的云计算框架就是 OpenStack, Python 现在的火,很大一部分就是因为云计算

人工智能——谁会成为 AI 和大数据时代的开发语言?这本已是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和 Python 还各有机会,局面尚且不清楚,那么三年之后,趋势已经非常明确了,特别是前两天 Facebook 开源了 PyTorch 之后,Python 作为 AI 时代头牌语言的位置基本确立,未来的悬念仅仅是谁能坐稳第二把交椅。

自动化运维——问问中国的每个运维人员,运维人员必须会的语言是什么?10个人相信会给你一个相同的,它的名字叫Python

金融分析——我个人之前在金融行业,10年的时候,我们公司写的好多分析程序、高频软件就是用的 Python,到目前, Python 是金融分析、量化领域里用的多的语言

科学运算—— 你知道么,97年开始,NASA 就在大量使用 Python 在进行各种复杂的科学运算,随着 NumPy, SciPy, Matplotlib, Enthought librarys 等众多程序库的开发,使的 Python 越来越适合于做科学计算、绘制高质量的 2D 和 3D 图像。和科学计算领域流行的商业软件 Matlab 相比,Python 是一门通用的程序设计语言,比 Matlab 所采用的脚本语言的应用范围更广泛

游戏开发——在网络游戏开发中 Python 也有很多应用。相比 Lua or C++,Python 比 Lua 有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,与 Lua 相比,Python 更适合作为一种 Host 语言,即程序的入口点是在 Python 那一端会比较好,然后用 C/C++ 在非常必要的时候写一些扩展。Python 非常适合编写 1 万行以上的项目,而且能够很好地把网游项目的规模控制在 10 万行代码以内。另外据我所知,知名的游戏<文明>就是用Python写的

列举这么多之后,你会发现,Python 几乎在上述每个领域都做的非常,这是一门真正意义上的全栈语言,即使目前世界上使用广泛的 Java 语言,在很多方面与 Python相比也逊色很多!我目前还看不到有哪门语言,能同时在在如此多的领域能做出这些成绩。

最后我在做几点与Python相关的预测:

5年之内,Python 会取代 PHP,成为受欢迎的 WEB 开发语言

10年内,Python 的使用量将趋近甚至超过Java

10年内,主流的人工智能技术都是基于 Python 开发

Python 应用率已经取得的领域有:云计算、爬虫、自动化运维、金融分析



Python可以用来干什么?

在我看来,基本上可以不负责任地认为,Python 可以做任何事情。无论是从入门级选手到专业级选手都在做的爬虫,还是Web 程序开发、桌面程序开发还是科学计算、图像处理,Python都可以胜任。

Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(Batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。

除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。

许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。

龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

总的来说,Python的哲学就是简单优雅,尽量写容易看明白的代码,尽量写少的代码。如果一个程序员向你炫耀他写的晦涩难懂、动不动就几万行的代码,你可以尽情地嘲笑他。


六、Python为什么这么火?

Python 是一门更注重可读性和效率的语言,尤其是相较于 Java,PHP 以及 C++ 这样的语言,它的这两个优势让其在开发者中大受欢迎,同时在运维领域也被大量运用到自动化运维场景中。以下是Python的五大优势:

1、Python 易于学习;

2、用少量的代码构建出很多功能;

3、Python 拥有成熟的程序包资源库之一;

4、Python 紧挨着 R 语言,都是现代数据科学中常被使用的语言;

5、Python 是跨平台且开源的。

Python的各种优势领各大企业公司开始使用Python开发,这就造成了Python开发人才的紧缺,相应的Python开发人员的薪资待遇也在增高。据统计,目前Python开发人员的薪资待遇为10K以上,这样的诱惑很难让人拒绝。


七、Python和人工智能的关系?

我们经常听到“Python”与“人工智能”这两个词,也很容易混淆这两个词,那么Python和人工智能有什么关系呢?

首先我们先来说说人工智能

人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和系统等。

简单来说,人工智能是一种未来性的技术。

再来说说Python

Python是一门计算机程序语言,目前人工智能科学领域应用广泛,应用广泛就表明各种库,各种相关联的框架都是以Python作为主要语言开发出来的。

谷歌的TensorFlow大部分代码都是Python,其他语言一般只有几千行 。如果讲开发效率,用Python,谁会用Java这种高不成低不就的语言搞人工智能呢?

Python虽然是脚本语言,但是因为容易学,迅速成为科学家的工具,从而积累了大量的工具库、架构,人工智能涉及大量的数据计算,用Python是很自然的,简单。

Python有非常多的深度学习库可用,现在大部分深度学习框架都支持Python,不用Python用谁?

八、Python的优势和劣势

Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

python语言的优点

⑴作为初学python的科班出身的小白,python非常简单,非常适合人类阅读。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。

⑵易学。python虽然是用c语言写的,但是它摈弃了c中非常复杂的指针,简化了python的语法。

⑶Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。Python希望看到一个更加的人创造并经常改进。

⑷可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!

⑸在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。

⑹Python既支持面向过程的函数编程也支持面向对象的抽象编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

⑺ 可扩展性和可嵌入性。如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

⑻丰富的库。Python标准库确实很庞大。python有可定义的第三方库可以使用。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

⑼ Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特色。

⑽规范的代码。Python采用强制缩进的方式使得代码具有的可读性。

python语言的缺点

很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。(对很多用户而言这也不算是限制)

⑴运行速度,有速度要求的话,用C++改写关键部分吧。不过对于用户而言,机器上运行速度是可以忽略的。因为用户根本感觉不出来这种速度的差异。

⑵既是优点也是缺点,python的开源性使得Python语言不能加密,但是目前国内市场纯粹靠编写软件给客户的越来越少,网站和移动应用不需要给客户源代码,所以这个问题就是问题。不过随着时间的推移,很多国内软件公司,尤其是游戏公司,也开始规模使用他。

⑶ 构架选择太多(没有像C#这样的.net构架,也没有像ruby由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下)。不过这也从另一个侧面说明,python比较,吸引的人才多,项目也多。


九、谁适合学Python?

我们首先来看一看谁在学Python:

类:入行编程新手:大学刚毕业或者其他行业转岗,想从事编程开发的工作,目前认为Python比较火,想入行;

第二类:Linux系统运维人员:Linux运维以繁杂著称,对人员系统掌握知识的能力要求非常高,那么也就需要一个编程语言能解决自动化的问题,Python开发运维工作是选,Python运维工资的薪资普遍比Linux运维人员的工资高。

第三类:做数据分析或者人工智能:不管是常见的大数据分析或者一般的金融分析、科学分析都比较大程度的应用了数据分析,人工智能的一些常见应用也使用了Python的一些技术。

第四类:程序员转Python开发:平常只关注div+css这些页面技术,很多时候其实需要与后端开发人员进行交互的,现在有很多Java程序在转到Python语言,他们都被Python代码的优美和开发效率所折服

第五类:其他:一些工程师以前在做很多SEO优化的时候,苦于不会编程,一些程序上面的问题,得不到解决,只能做做简单的页面优化。 现在学会Python之后,可以编写一些查询收录,,自动生成网络地图的程序,解决棘手的SEO问题。


十、学习Python可以从事的工作?

Python岗位

Python岗位有哪些呢?主要的岗位有这些:

Python全栈开发工程师(10k-20K)

Python运维开发工程师(15k-20K)

Python开发工程师(15k-30K)

Python大数据工程师(15K-30K)

Python机器学习工程师(15k-30K)

Python架构师(20k-40k)

Python 可以做什么,这是一个有趣的问题。

从入门级选手到专业级选手都在做的——爬虫

用 Python 写爬虫的教程网上一抓一大把,据我所知很多初学 Python 的人都是使用它编写爬虫程序。小到抓取一个小黄图网站,大到一个互联网公司的商业应用。通过 Python 入门爬虫比较简单易学,不需要在一开始掌握太多太基础太底层的知识就可以很快上手,而且很快可以做出成果,非常适合小白一开始想做出点看得见的东西的成就感。

除了入门,爬虫也被广泛应用到一些需要数据的公司、平台和组织,通过抓取互联网上的公开数据,来实现一些商业价值是非常常见的做法。当然这些选手的爬虫就要厉害的多了,需要处理包括路由、存储、分布式计算等很多问题,与小白的抓黄图小程序,复杂度差了很多倍。

Web 程序

除了爬虫,Python 也广泛应用到了 Web 端程序,比如你现在正在使用的知乎,主站后台就是基于 Python 的 tornado 框架,豆瓣的后台也是基于 Python。除了 tornado (Tornado Web Server),Python 常用的 Web 框架还有 Flask(Welcome | Flask (A Python Microframework)),Django (The Web framework for perfectionists with deadlines) 等等。通过上述框架,你可以很方便实现一个 Web 程序,比如我认识的一些朋友,就通过 Python 自己编写了自己的博客程序,包括之前的 zhihu.photo,我就是通过 Flask 实现的后台(出于版权等原因,我已经停掉了这个网站)。除了上述框架,你也可以尝试自己实现一个 Web 框架。

桌面程序

Python 也有很多 UI 库,你可以很方便地完成一个 GUI 程序(话说我开始接触编程的时候,就觉得写 GUI 好炫酷,不过搞了好久才在 VC6 搞出一个小程序,后来又辗转 Delphi、Java等,最后接触到 Python 的时候,我对 GUI 已经不感兴趣了)。Python 实现 GUI 的实例也不少,包括大名鼎鼎的 Dropbox,就是 Python 实现的服务器端和客户端程序。

人工智能(AI)与机器学习

人工智能是现在非常火的一个方向,AI热潮让Python语言的未来充满了无限的潜力。现在释放出来的几个非常有影响力的AI框架,大多是Python的实现,为什么呢?因为Python足够动态、具有足够性能,这是AI技术所需要的技术特点。比如基于Python的深度学习库、深度学习方向、机器学习方向、自然语言处理方向的一些网站基本都是通过Python来实现的。

机器学习,尤其是现在火爆的深度学习,其工具框架大都提供了Python接口。Python在科学计算领域一直有着较好的声誉,其简洁清晰的语法以及丰富的计算工具,深受此领域开发者喜爱。

早在深度学习以及Tensorflow等框架流行之前,Python中即有scikit-learn,能够很方便地完成几乎所有机器学习模型,从经典数据集下载到构建模型只需要简单的几行代码。配合Pandas、matplotlib等工具,能很简单地进行调整。

而Tensorflow、PyTorch、MXNet、Keras等深度学习框架更是极大地拓展了机器学习的可能。使用Keras编写一个手写数字识别的深度学习网络仅仅需要寥寥数十行代码,即可借助底层实现,方便地调用包括GPU在内的大量资源完成工作。

值得一提的是,无论什么框架,Python只是作为前端描述用的语言,实际计算则是通过底层的C/C++实现。由于Python能很方便地引入和使用C/C++项目和库,从而实现功能和性能上的扩展,这样的大规模计算中,让开发者更关注逻辑于数据本身,而从内存分配等繁杂工作中解放出来,是Python被广泛应用到机器学习领域的重要原因。

科学计算

Python 的开发效率很高,性能要求较高的模块可以用 C 改写,Python 调用。同时,Python 可以更高层次的抽象问题,所以在科学计算领域也非常热门。包括 scipy、numpy 等用于科学计算的第三方库的出现,更是方便了又一定数学基础,但是计算机基础一般的朋友。

图像处理

这方面不熟,列几个关键词吧,如有错误,请斧正。

keywords : OpenCV, Pillow, PIL


十一、如何入门学习python?

零基础情况下,想学一门语言。其实python非常适合初学者入门。相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易。那么如何掌握python?

设定目标:做 Python 开发除了熟悉语言本身之外,还需要掌握很多相关联的技能,好比打NBA,你不光要学如何投篮,还要练习力量、技战术等一整套东西。所以,一个普通Python Web开发工程师需要掌握的技能包括至少一个Web框架,比如:Django、Flask、Tornado,做业务系统必须熟知一种数据库,还需要对Linux系统的基本操作和常用命令有所了解,因为以后你写到程序基本上都会运行在Linux平台上。

开发工具:工欲善其事必先利其器,Python IDE层出不穷,Pycharm 和Sublime两个工具都是免费的,而且它们的学习成本非常低,网上找一篇教程看了基本就能上手,Vim、Emacs这样的远古神器还是放以后再去了解吧。

Python3:新手开始总纠结学 Python2 还是 Python3,这种纠结完全就是给自己徒增烦恼,因为它们是同一种语言,只有少部分地方语法不兼容,尽管目前大部分公司还在用Python2,但是Python3逐渐成为主流已是不争事实,毕竟后者性能方面更占有优势。

学习框架:对于刚入门的人,重要的是培养Ta的学习兴趣和信心。有的会担心自己的基础知识都那么薄弱,如何能学好框架呢?其实这个担心倒是不必,大多数大型的框架都把功能封装得很完整,定义了一套在自己的框架下做事的“规则”,学习框架更多的是学习这些“规则”,入门倒不需要很深的理论基础。


文中图片素材来源网络,如有侵权请联系删除
文中图片素材来源网络,如有侵权请联系删除
热门课程 全部课程

相关新闻推荐

申请免费试听

只要一个电话

我们为您免费回电

立即申请
刷新
图形验证
关闭
>>
拖动左边滑块完成上方拼图