1python由来

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆(龟叔)于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, [2] 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。 [3]
Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。 Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

2.Python语言的发展

Python从诞生一直更新到现在,经历了多个版本。截止到目前,官网仍然保留的版本主要是基于Python2.x和Python3.x系列,具体如表所示
Python2.7是Python 2.x系列的最后一个版本,已经停止开发,计划在2020年终止支持。Guido决定清理Python2.x系列,并将所有最新标准库的更新改进体现在Python 3.x系列中。Python3.x系列的一个最大改变就是使用UTF-8作为默认编码,从此,Python3.x系列中就可以直接编写中文程序了。
另外,Python3.x系列比Python2.x系列更规范统一,其中去掉了某些不必要的关键字与语句。由于Python3.x系列支持的库越来越多,开源项目支持Python3.x的比例已大大提高。鉴于以上理由,本书推荐读者直接学习Python3.x系列。

3.Python语言的优缺点

1). 简单

Python是一种代表简单主义思想的语言,阅读一段Python程序就像在阅读一篇文章,这使开发者能够专注于解决问题而不是去搞明白语言本身。

2). 易学

Python有极其简单的语法,如果开发同样的功能,使用其他语言可能需要上百行代码,而Python只需几十行代码就可以轻松搞定。

3). 免费、开源

Python是FLOSS(自由/开放源码软件)之一,使用者可以自由地发布这个软件的拷贝、阅读它的源代码并对它进行修改,这也是Python如此优秀的原因之一。

4). 可移植性

由于其开源本质,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等。

5)解释性

C/C++语言在执行时需要经过编译,生成机器码后才能执行。Python是直接由解释器执行。由于不再需要担心如何编译程序、如何确保连接转载正确的库等,所有这一切使得Python的使用更加简单。

6) 面向对象

Python从设计之初就已经是一门面向对象的语言。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。

7) 可扩展性

假如用户需要一段关键代码运行得更快或者希望某些算法不公开,可以把部分程序用C或C++语言编写,然后在Python程序中使用它们。

8)可嵌入性

用户可以把Python嵌入到C/C++程序,从而向程序提供脚本功能。

9)丰富的库

Python提供丰富的标准库,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI、Tk以及其他与系统相关的库除了上面提到的各种优点,Python 也是有缺点的。

Python缺点

1) 运行速度慢
运行速度慢是解释型语言的通病,Python 也不例外。
Python 速度慢不仅仅是因为一边运行一边“翻译”源代码,还因为 Python 是高级语言,屏蔽了很多底层细节。这个代价也是很大的,Python 要多做很多工作,有些工作是很消耗资源的,比如管理内存。
Python 的运行速度几乎是最慢的,不但远远慢于 C/C++,还慢于 Java。
但是速度慢的缺点往往也不会带来什么大问题。首先是计算机的硬件速度运来越快,多花钱就可以堆出高性能的硬件,硬件性能的提升可以弥补软件性能的不足。
其次是有些应用场景可以容忍速度慢,比如网站,用户打开一个网页的大部分时间是在等待网络请求,而不是等待服务器执行网页程序。服务器花 1ms 执行程序,和花 20ms 执行程序,对用户来说是毫无感觉的,因为网络连接时间往往需要 500ms 甚至 2000ms。
2) 代码加密困难
不像编译型语言那样,源代码会被编译成可执行程序(这个编译过程就相当于对源码加密),对于 Python 来说是直接运行源代码,因此对源码加密是比较困难的。

4.Python语言的用途

1)Web开发
Python经常被用于Web开发。例如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调HTTP服务器与基于Python的Web程序之间的通信。一些Web框架,如Django、TurboGears、web2py、Zope等,可以让程序员轻松地开发和管理复杂的Web程序。
2)网络爬虫
Python语言提供了大量网络模块用于对网页内容进行读取和处理,如urllib、cookielib、httplib、scrapy等。同时,这些模块结合多线程编程以及其他有关模块可以快速开发网页爬虫之类的应用程序。
网络爬虫是一种用来自动浏览万维网的网络机器人。其目的一般为编纂网络索引。网络搜索引擎等站点通过爬虫软件更新自身的网站内容或其对其他网站的索引。网络爬虫可以将自己所访问的页面保存下来,以便搜索引擎事后生成索引供用户搜索。
3)科学计算与数据可视化
Python语言提供了大量模块用于科学计算与数据可视化,如NumPy、SciPy、SymPy、Matplotlib、Traits、TraitsUI、Chaco、TVTK、Mayavi、VPython、OpenCV等,这些模块涉及的应用领域包括数值计算、符号计算、二维图表、三维数据可视化、三维动画演示、图像处理以及界面设计等。
此外,Python语言在系统编程、GUI编程、数据库应用、游戏、图像处理、人工智能等领域被广泛应用。
4)游戏
 很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单,体积更小;而Python则支持更多的特性和数据类型
游戏开发人员经常需要动态创建和更新对象。
因此,Python 允许非常灵活的面向对象。因此,Python 开发人员无需编写太多代码即可轻松创建新对象和修改现有对象。
灵活的面向对象通过给出对象质量或特征(属性)的类或类型来操作。从它们生成的任何类别都继承了这些特征。
5)人工智能
其实Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,开始时是用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。而人工智能通俗讲就是人为的通过嵌入式技术把程序写入机器中使其实现智能化。显然人工智能和Python是两个不同的概念。
人工智能和Python的渊源在于就像我们统计数据或选择用excel制作表格时,因为在需要用到加减乘除或者、函数等时,只需要套用公司就可以。因为SUM、AVERAGE等这样的函数运行的背后,是C++/C#等语言已经编写好了代码,所以Excel只是工具和展现形式并不是它做计算。同理在学习人工智能时Python只是用来操作深度学习框架的工具,实际负责运算的主要模块并不依靠Python,真正起作用的是也是一大堆复杂的C++ / CUDA程序。
深度学习人工智能时,自己计算太复杂,还要写C++代码操作,这时程序员就想要不搞一套类似复杂的Excel配置表,直接搭建神经网络、填参数、导入数据,一点按钮就直接开始训练模型、得出结果。这个方法简单实用可是神经网络搭建起来太复杂,需要填写的参数太多,各种五花八门的选项也很难做成直观的图形工具。只能用一个类似Python的相对好用的语言,通过简化的程序代码来搭建神经网络、填写参数、导入数据,并调用执行函数进行训练。通过这种语言来描述模型、传递参数、转换好输入数据,然后扔到复杂的深度学习框架里面去计算。那么为什么会选择Python?
科学家们很早就喜欢用Python实验算法,也善于使用numpy做科学计算,用pyplot画数据图。恰好Google内部用Python也非常多,所以采用Python也是必然的。除Python外,实际上TensorFlow框架还支持JavaScript、c++、Java、GO、等语言。按说人工智能算法用这些也可以。但是官方说了,除Python之外的语言不一定承诺API稳定性。所以人工智能和Python就密不可分了。
龟叔给python的定位是“优雅”,“简单”,“明确”,“易懂”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来可以深入下去,可以编写那些非常非常复杂的程序。

Python由来以及用途相关推荐

  1. python介绍和用途-python四大用途介绍|老男孩python培训

    python在近几年发展之中,可以说是非常迅速的一种编程语言,很多人想进入互联网行业都会选在python.但是也包含一些小白,想学习但是根本不知道python是什么,到底可以做什么事情,今天带来的这篇 ...

  2. python主要用途-python的主要用途是什么

    Python主要的五大应用介绍: 一.Web开发 Python的诞生历史比Web还要早,由于Python是一种解释型的脚本语言,开发效率高,所以非常适合用来做Web开发. Python有上百种Web开 ...

  3. 学python有哪些用途-初入门学习python有哪些用途?

    python是人工智能的重要编程语言,无论发展前景还是就业方向,不可限量.更重要的是python还是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.那么初入门学习python有哪些用途呢 ...

  4. python有哪些用途-Python有哪些用途

    原标题:Python有哪些用途 郑州Python培训|Python有哪些用途? 我们按时间线处理一下,Python 的趋势大概是: 2017 年 1 月:Python 大热,深度学习市场,对 Pyth ...

  5. python有哪些用途-python的主要用途是什么

    Python主要的五大应用介绍: 一.Web开发 Python的诞生历史比Web还要早,由于Python是一种解释型的脚本语言,开发效率高,所以非常适合用来做Web开发. Python有上百种Web开 ...

  6. python有哪些用途-Python能用来做什么?以下是Python的三大主要用途

    作者 YK Sugi 编译 Mika 本文为 CDA 数据分析师原创作品,转载需授权 观看更多国外公开课,点击"阅读原文" 如果你想学Python,或者你刚开始学习Python,那 ...

  7. python介绍和用途-python中模块的介绍与使用

    模块简介: 模块就是一系列功能的集合体,在python中一个py文件就是一个模块. 又分为自定义模块,内置模块,还有第三方模块. 导入模块: 在执行文件中,写入关键字 import后面加上写好的模块, ...

  8. python介绍和用途-Python --- Python的简介

    编译型语言和解释型语言 计算机只能识别二进制编码(机器码),所以任何的语言在交由计算机执行时必须要先转换为机器码, 也就是像 print("hello") 必需要转换为类似 101 ...

  9. python介绍和用途-python匿名函数的介绍及用途

    匿名函数 用lambda能够创建一个匿名函数,这种函数得名于省略了用def声明函数的标准步骤. 语法 lambda [arg1 [,arg2,.....argn]]:expression 如何使用 我 ...

最新文章

  1. Linux I/O多路复用
  2. Hibernate持久化类与主键生成策略
  3. boost库 python_Boost.Python简介-阿里云开发者社区
  4. 利用shell脚本监控网站状态
  5. 51nod 1307 绳子与重物 二分+dfs / 并查集
  6. java final date_Java 8新特性之Date/Time(八恶人-4)
  7. FPGA RTL级设计原则
  8. 大话集群和负载均衡,太强了!
  9. 【java】判断某段字符串的编码方式,并按照新的编码方式输出
  10. Android TV开发总结【适配】
  11. PreferenceActivity使用简介
  12. Window驱动开发
  13. 2014Esri全球用户大会之ArcGIS Online
  14. APUE---chap3文件I/O---3.11原子操作
  15. Sonic开源的云真机测试平台搭建记录
  16. 网站跳出率高解决方法
  17. 揭秘!谷歌云确立领先地位的五大变革
  18. Linux常用命令(面试)
  19. 机器学习-周志华总结
  20. Android Service startForeground不显示Notification的办法

热门文章

  1. STM32——DHT11温湿度传感器
  2. 3an推客CPC、CPM和CPS是什么意思?有什么区别
  3. 微信企业付款到零钱,查询接口报错<err_code_des><![CDATA[参数错误:必须输入商户号]]></err_code_des>
  4. Markdown如何空格和空行
  5. 入手评测 r5 5600x和r7 5700g选哪个好
  6. 小甲鱼python课后题百度云盘_【小甲鱼python课后题.doc】下载 - 面包树
  7. xp系统开机自检很久_xp系统开机慢怎么解决两种提升电脑开机速度方法
  8. 计算机组成原理(谭志虎主编 )
  9. 仿冒银行升级助手的木马分析
  10. 用python实现身份证号校验系统