Python的发展史与特点

诞生与发展史

1989,为了度过圣诞假期,Guido开始编写Python语言编译器。Python这个名字来自Guido的喜爱的电视连续剧《蒙蒂蟒蛇的飞行马戏团》,所以Python原意为蟒蛇。他希望新的语言Python能够满足他在C和Shell之间创建全功能、易学、可扩展的语言的愿景。

第一代Python公开发行版发行于1991年

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

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

Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生

Python 2.5 - September 19, 2006

Python 2.6 - October 1, 2008

Python 2.7 - July 3, 2010

Python 3.0 - December 3, 2008

Python 3.1 - June 27, 2009

Python 3.2 - February 20, 2011

Python 3.3 - September 29, 2012

Python 3.4 - March 16, 2014

Python 3.5 - September 13, 2015。Python由于近些年发展很是迅猛,导致版本更替频繁,这让Python更强大的同时,也使程序员们感到头疼,每一次的版本更替会造成很多语法的更新。到今天还有很多的服务器还是2.7这个版本,但这个版本已经很老了,和最新的3.7版本很多地方都不一样了,所以作为与时俱进的程序员们还是要学到老活到老啊。

Python特点

Python优点

1. 它有广泛的信息资料库

python的一个主要优点是它有一个扩展的库,包含各种区域的代码,如字符串操作,正则表达式,单元测试,线程,图像处理,操作系统接口和协议,以及Web服务工具。 这些代码的存在消除了编写冗长代码的需要,这节省了大量时间。

2. 它的可扩展性

Python具有可扩展的应用程序集成,允许程序员通过Jython将其代码放入其他语言,如C,C ++或Java。 此外,如果要将脚本功能添加到另一种语言,可以将Python代码放在另一种语言的源代码中。 由于python在使用相同字节代码的所有现代操作系统上运行,因此它可以处理其他标记语言。

3. 它多才多艺,快速发展

Python编程语言易于学习和使用,整洁,可读,结构良好。 该语言侧重于代码可读性,并具有支持库,使得开发速度更快,并最大限度地提高程序员的工作效率。

4. 它具有良好的生产力

Python的单元测试框架和增强的控制功能可提高大多数应用程序的速度和生产力,使其成为构建多协议网络应用程序的理想选择。

Python的缺点

一、它在移动计算方面的弱点

尽管存在于桌面和服务器中,但在基于智能手机的应用程序中很少见到它,尽管存在Brython。 这是因为它不安全。 如果您使用它来开发移动应用程序,请确保使用python VPN来最大限度地提高安全性。

二、 很难用其他编程语言切换

使用python的程序员已经习惯了它,并且因为它不需要太多编码,所以他们很难使用需要大量编码的其他语言。

三、 它有设计限制

Python是动态类型的,它消除了在编写代码时声明变量类型的需要,增加了运行时错误的风险。

Python相关的职位要求,薪资待遇

1.常规软件开发

Python支持函数式编程和OOP面向对象编程,能够承担任何种类软件的开发工作,因此常规的软件开发、脚本编写、网络编程等都属于标配能力。

现在,Python开发工程师的平均薪资已经达到月薪2万元以上,绝对是值得选择的方向。

2.科学计算

随着NumPy,SciPy,Matplotlib,Enthoughtlibrarys等众多程序库的开发,Python越来越适合于做科学计算、绘制高质量的2D和3D图像。

和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛,有更多的程序库的支持。

虽然Matlab中的许多高级功能和toolbox目前还是无法替代的,不过在日常的科研开发之中仍然有很多的工作是可以用Python代劳的。

3.自动化运维

这几乎是Python应用的自留地,作为运维工程师首选的编程语言,Python在自动化运维方面已经深入人心,比如Saltstack和Ansible都是大名鼎鼎的自

由于自动化运维工程师属于稀缺岗位,所以一般薪资都能达到15000元以上,有5年经验的工程师,年薪30万以上还是很容易的。

4.云计算

开源云计算解决方案OpenStack就是基于Python开发的,搞云计算的同学都懂的。

5.web开发

基于Python的Web开发框架不要太多,比如耳熟能详的Django,还有Tornado,Flask。其中的Python+Django架构,应用范围非常广,开发速度非常快,学习门槛也很低,能够帮助你快速的搭建起可用的WEB服务。

6.网络爬虫

也称网络蜘蛛,是大数据行业获取数据的核心工具。没有网络爬虫自动地、不分昼夜地、高智能地在互联网上爬取免费的数据,那些大数据相关的公司恐怕要少四分之三。

能够编写网络爬虫的编程语言有不少,但Python绝对是其中的主流之一,其Scripy爬虫框架应用非常广泛。

爬虫工程师的薪资同样在20000元以上,是值得选择学习的方向。

7.数据分析

在大量数据的基础上,结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石。Python是数据分析的主流语言之一。

由于大数据的崛起,对于数据分析人才的需求也是水涨船高。因为几乎所有行业和公司都会用到数据分析,所以数据分析的招聘岗位也特别多,并且超过20K月薪的从业者超过16.7%,是一个值得投入的方向。

8.人工智能

Python在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。

人工智能这个方向不用说了,人工智能是我们未来的国家战略,在达内学员中,相关人工智能就业的同学,薪资一般都超过16000元以上,并且全部进入了大型企业,未来发展可期。

Python编译器安装及开发环境配置

Python官方下载链接:https://www.python.org。根据自己电脑系统下载最新的版本,比如我自己的是Windows,64位操作系统,就选择相应的版本

“Windows x86-64 executable installer”。

相对于IDEA(Python)的编辑使用,个人觉得Sublime Text3更加方便快捷,网上也很方便找到,正版会麻烦一点,需要激活码,然后自行汉化。也有一些特汉化版的,下载安装方便。SublimeText3支持但不限于 C, C++, C#, CSS, D, Erlang, HTML, Groovy, Haskell, HTML, Java, JavaScript, LaTeX, Lisp, Lua, Markdown, Matlab, OCaml, Perl, PHP, Python, R, Ruby, SQL, TCL, Textile and XML 等主流编程语言的语法高亮。更拥有优秀的代码自动完成功能 (自动补齐括号,大括号等配对符号;自动补全已经出现的单词;自动补全函数名),非常智能。

Python初步接触与学习的更多相关文章

  1. python初步(附学习思维导图)

    python,原意为蟒蛇,至于它的发展史,度娘应该比我讲述的更为专业/偷笑.这里我们要梳理的是整个学习的脉络,当然,今后的随笔也会从基础部分说起,希望能给进门python的小伙伴一些建议. 一.环境的 ...

  2. php大力力 [006节]初步接触认识phpMyAdmin

    phpMyAdmin 2015-08-22 php大力力006. 初步接触认识phpMyAdmin 以下是phpAdmin网络截图: 这是通过MAMP一键安装的. php中MyAdmin的使用-猿代码 ...

  3. 孤荷凌寒自学python第八十二天学习爬取图片2

    孤荷凌寒自学python第八十二天学习爬取图片2 (完整学习过程屏幕记录视频地址在文末) 今天在昨天基本尝试成功的基础上,继续完善了文字和图片的同时爬取并存放在word文档中. 一.我准备爬取一个有文 ...

  4. 孤荷凌寒自学python第六十八天学习并实践beautifulsoup模块1

    孤荷凌寒自学python第六十八天学习并实践beautifulsoup模块1 (完整学习过程屏幕记录视频地址在文末) 感觉用requests获取到网页的html源代码后,更重要的工作其实是分析得到的内 ...

  5. 孤荷凌寒自学python第六十二天学习mongoDB的基本操作并进行简单封装1

    孤荷凌寒自学python第六十二天学习mongoDB的基本操作并进行简单封装1 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第八天. 今天开始学习mongoDB的简单操作, ...

  6. Spring boot -环境搭建 ,初步接触(1)

    1. Eclipse 创建 maven project  项目目录如下: 2. pom.xml  配置文件 <project xmlns="http://maven.apache.or ...

  7. 这十个Python常用库,学习Python的你必须要知道!

    想知道Python取得如此巨大成功的原因吗?只要看看Python提供的大量库就知道了 包括原生库和第三方库.不过,有这么多Python库,有些库得不到应有的关注也就不足为奇了.此外,只在一个领域里的工 ...

  8. python爬虫之Scrapy学习

    在爬虫的路上,学习scrapy是一个必不可少的环节.也许有好多朋友此时此刻也正在接触并学习scrapy,那么很好,我们一起学习.开始接触scrapy的朋友可能会有些疑惑,毕竟是一个框架,上来不知从何学 ...

  9. 这十个Python常用库?学习Python的你必须要知道!

    想知道Python取得如此巨大成功的原因吗?只要看看Python提供的大量库就知道了 ,包括原生库和第三方库.不过,有这么多Python库,有些库得不到应有的关注也就不足为奇了.此外,只在一个领域里的 ...

随机推荐

  1. Layui多文件上传进度条

    Layui原生upload模块不支持文件上传进度条显示,百度,谷歌找了一下不太适用.后面找到一个别人修改好的JS,替换上去,修改一下页面显示即可使用,一下是部分代码 HTML: <div cla ...

  2. echarts3.x 入门

    echarts 使用 1.getStart 1.1引入 echart <!-- 引入 ECharts 文件 --> <script src="echarts.min.js& ...

  3. hadoop学习(四)----windows环境下安装hadoop

    因为我们不能在线上环境进行调试hadoop,这样就只能在本地先调试好了再放到线上去啦.我本地是windows环境,今天先记下windows下搭建hadoop2.7的步骤. 1 本地环境 windows ...

  4. 搞定java String校招面试题

    今天大致的阅读了String类的源码,并刷了常见的面试题,在此做个笔记. 面试题一:判断下列程序运行结果 package String_test; public class test_1 { publ ...

  5. js五子棋游戏代码分享

    HTML代码 <canvas id="game"></canvas> CSS代码 * { margin: 0; padding: 0; } #game { ...

  6. mysql注意事项

    注意事项: 1.查询条件内需要使用时间的,不要使用数据库函数now(),都使用应用服务器传入: 2.所有id为mysql自增的,需要使用创建时间排序,都使用order by id desc;或者根据查 ...

  7. ArcGIS数据格式详解

  8. ZooKeeper系列(五)—— ACL 权限控制

    一.前言 为了避免存储在 Zookeeper 上的数据被其他程序或者人为误修改,Zookeeper 提供了 ACL(Access Control Lists) 进行权限控制.只有拥有对应权限的用户才可 ...

  9. mysql数据库的水平拆分与垂直拆分

    近端时间在面试,发现很多面试官或者面试都把数据的水平拆分合垂直拆分给搞混了,今天特意写了一篇博客来说说水平拆分和垂直拆分希望对程序猿们有所帮助. 数据库水平与垂直拆分: 垂直(纵向)拆分:是指按功能模 ...

  10. python模块之junos-eznc

    一.简介 本文将使用python模块中的junos-eznc来控制juniper的 Junos OS系统,此模块可以在windows平台和UNIX平台上使用 二.实验环境 1.操作系统:win10 2 ...