【整套Python教程(19天课程)下载:http://www.itcast.cn/news/20200611/14102630920.shtml】

在于1989年,由一位名叫Guido van Rossum(吉多.范罗苏姆),为打发时间设计了Python语言,第一个发行版公开于1991年。

Python是一款纯粹的自由软件,源代码和解释器CPython都遵循了GPL(GNU General Public License)协议。

Python语法清晰简洁,最有特色的是用空白符作为语句的缩进。

Python具有强大而丰富的类库,也经常被别人说是胶水语言,可以跟其它语言(c/c++)写的模块结合在一起。常见的情况是使用Python快速生成程序的原型,然后有一部分需要有特别高的要求,需要其它语言改写。例如3D游戏中的图形渲染需要用到C/C++编写,然后封装成.py扩展类库由Python调用。需要注意的使用扩展类型需要考虑跨平台性。

优点:

1.简单:Python是一种代表简单主义思想的语言。

2.易用:Python简单容易上手,因为有简单容易看懂的文档。

3.速度快:运行速度快,因为Python中的标准库和第三方库都是C语言编写的,所以很快。

4.免费、开源:Python是一款FLOSS(自由/源代码软件)之一,使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。

5.高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

6.可移植性:由于它的开源本质,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平台。

7.解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。

8.面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

9.可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。

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

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

12.规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。

缺点:

1.单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。

2.独特的语法:这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。

3.运行速度慢:这里是指与C和C++相比。

应用:

系统编程:提供API(Application Programming Interface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具[6] 。

图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。

数学处理:NumPy扩展提供大量与许多标准数学库的接口。

文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。

Web编程:应用的开发语言,支持最新的XML技术。

多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。

pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。

黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。

标准库:

Python拥有一个强大的标准库。Python语言的核心只包含数字、 字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功 能。Python标准库命名接口清晰、文档良好,很容易学习和使用。

Python社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能无所不包,覆盖科学计算、Web开发、数据库接口、图形系统多个领域,并且大多成熟而稳定。第三方模块可以使用Python或者C语言编写。SWIG,SIP 常用于将C语言编写的程序库转化为Python模块。Boost C++ Libraries包含了一组库,Boost.Python,使得以 Python 或 C++ 编写的程序能互相调用。借助于拥有基于标准库的大量工具、能够使用低级语言如C和可以作为其他库接口的C++,Python已成为一种强大的应用于其他语 言与工具之间的胶水语言。

Python标准库的主要功能有:文本处理,包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支持,二进制数据,文件处理,包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能,操作系统功能,包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、写日记(logging)等功能,网络通信,包含网络套接字,SSL加密通信、异步网络通信等功能网络协议,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多种网络协议,并提供了编写网络服务器的框架,W3C格式支持,包含HTML,SGML,XML的处理。其它功能,包括国际化支持、数学运算、HASH、Tkinter等。

猜你喜欢

python下什么-什么是Python?最全的python百科相关推荐

  1. python 完全面向对象_史上最全的Python面向对象知识点疏理

    原标题:史上最全的Python面向对象知识点疏理 面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.class 类变量:类变 ...

  2. python教程鱼c_我见过最全的python教程鱼C工作室,资源教程下载

    课程名称 我见过最全的python教程鱼C工作室,资源教程下载 课程目录 [1]开发基础带安装包 0000安装包 000愉快的开始 001我和Python的第一次亲密接触 002用Python设计第一 ...

  3. python期末知识点_史上最全的Python知识点整理之基本语法

    一.程序的格式框架 1.缩进 缩进是指每行语句前的空白区域,用来表示Python程序间的包含和层次关系. 一般语句不需要缩进,顶行书写且不留空白. 当表示分支.循环.函数.类等含义,在if,while ...

  4. Py之GUI:Python下各种GUI(图形用户界面)简介、使用优缺点对比

    Py之GUI:Python下各种GUI(图形用户界面)简介.使用优缺点对比 目录 GUI Python下各种GUI简介.使用优缺点对比 Python下各种GUI更多官权威介绍 GUI 图形用户界面(G ...

  5. python 网络服务器框架_Django是Python下的一款网络服务器框架

    Django是Python下的一款网络服务器框架.Python下有许多款不同的框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django.虽然Django之于Pytho ...

  6. python下的日期与时间(时间格式转换、时间戳处理,时间差处理)

    python下的日期与时间 一.在Python中,时间主要有三种表示形式, 1.时间戳(TimeStamp):1970年1月1日之后的秒 2.时间元组格式化形式 包含了:年.日.星期 得到time.s ...

  7. python查询和替换一个文本字符串_【Python】python面试题

    一些Python面试题 1. (1)python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只 ...

  8. 一文搞定深度学习建模预测全流程(Python)

    作者 | 泳鱼 来源 | 算法进阶 本文详细地梳理及实现了深度学习模型构建及预测的全流程,代码示例基于python及神经网络库keras,通过设计一个深度神经网络模型做波士顿房价预测.主要依赖的Pyt ...

  9. 这可能是史上最全的Python算法集!

    来源 | CSDN(ID:CSDNnews ) 本文是一些机器人算法(特别是自动导航算法)的Python代码合集. 其主要特点有以下三点:选择了在实践中广泛应用的算法:依赖最少:容易阅读,容易理解每个 ...

最新文章

  1. 【安全漏洞】浅谈Bypass Waf (基础-实战)
  2. Win10自带的邮件客户端配置腾讯企业邮箱账号
  3. Java客户端操作elasticsearch--创建索引(集群模式下)
  4. SAP Spartacus 代码提交的git message规范
  5. java开发常见异常_最常见的Java异常及其对Java开发人员的评价
  6. 【渝粤教育】电大中专Office办公软件 (4)作业 题库
  7. linux 安装系统 逻辑卷,Linux逻辑卷工具lvm的使用教程
  8. 三种方法实现弹出框边框半透明和圆角的效果
  9. elasticsearch工具类_Django + Elasticsearch——搜索精彩的TED演讲
  10. Java 8实战 第一章笔记
  11. Head First设计模式读书笔记九 第十章 状态模式
  12. Docker学习总结(42)——Docker Compose 入门学习
  13. 前后端整合---请求
  14. L1-045 宇宙无敌大招呼 (5 分)—团体程序设计天梯赛
  15. 【WPA TSP】基于matlab狼群算法求解旅行商问题【含Matlab源码 211期】
  16. c 显示服务器相关的图片到对话框,使用MFC CImage类绘制PNG图片时遇到的问题
  17. 高斯过程--在GPyTorch中实现一个个性化kernel
  18. pytorch实现GAN网络及训练自己的数据集
  19. 实验二.常用网络命令
  20. Android能装到电脑上吗,怎么在电脑上装安卓系统

热门文章

  1. 原生JS和jQuery操作DOM的区别小结
  2. HMTL判断ie版本
  3. 解密回声消除技术之一(理论篇)
  4. Android的开机流程
  5. Matlab 线性规划问题模型代码
  6. Servlet--05--HttpServletRequest; HttpServletResponse
  7. Mybatis 查询小技巧
  8. 软件测试_APP测试_兼容性测试
  9. 我的心底装着宽恕和包容世界很美
  10. CSS中常用中文字体的Unicode编码