python基础(1):python介绍、python发展史

1. python介绍

1.1 python是什么样的语言

编程语?主要从以下?个?度为进?分类,编译型和解释型、静态语?和动态语?、强类型定义语?和弱类型定义语?,我们先看编译型语?和解释型语?.稍后再说强类型和弱类型

编译和解释的区别是什么?

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

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

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

编译型vs解释型

编译型

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

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

解释型

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

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

1.2 python的优缺点

先看优点:

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

2. 开发效率?常?,Python有?常强?的第三?库,基本上你想通过计算机实现任何 功能,Python官?库?都有相应的模块进??持,直接下载调?后,在基础库的基 础上再进?开发,??降低开发周期,避免重复造轮?。

3. ?级语?————当你?Python语?编写程序的时候,你?需考虑诸如如何管理你 的程序使?的内存?类的底层细节

4. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动 使它能够? 作在不同平台上)。如果你??地避免使?依赖于系统的特性,那么你 的所有Python程序?需修改就?乎可以在市场上所有的系统平台上运?

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

6. 可嵌?性————你可以把Python嵌?你的C/C++程序,从?向你的程序?户提供脚本功能。

再看缺点:

1. 速度慢,Python 的运?速度相?C语?确实慢很多,跟JAVA相?也要慢?些,因此 这也是很多所谓的??不屑于使?Python的主要原因,但其实这?所指的运?速度 慢在?多数情况下?户是?法直接感知到的,必须借助测试?具才能体现出来,?如你?C运?个程序花了0.01s,?Python是0.1s,这样C语?直接?Python快了10倍, 算是?常夸张了,但是你是?法直接通过?眼感知的,因为?个正常?所能感知的时间最?单位是0.15-0.4s左右,哈哈。其实在?多数情况下Python已经完全可以满 ?你对程序速度的要求,除?你要写对速度要求极?的搜索引擎等,这种情况下,当然还是建议你?C去实现的。

2. 代码不能加密,因为PYTHON是解释性语?,它的源码都是以名?形式存放的,不 过我不认为这算是?个缺点,如果你的项?要求源代码必须是加密的,那你?开始就不应该?Python来去实现。

3. 线程不能利?多CPU问题,这是Python被?诟病最多的?个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语?解释器?于同步线程的?具,使得任何时刻仅有?个线程在执?,Python的线程是操作系统的原?线程。 在Linux上为pthread,在Windows上为Winthread,完全由操作系统调度线程的执?。?个python解释器进程内有?条主线程,以及多条?户程序的执?线程。即使在多核CPU平台上,由于GIL的存在,所以禁?多线程的并?执?。关于这个问题 的折衷解决?法,我们在以后线程和进程章节?再进?详细探讨。

当然,Python还有?些其它的?缺点,在这就不??列举了,我想说的是,任何??语?都不是完美的,都有擅?和不擅?做的事情,建议各位不要拿?个语?的劣势去跟另?个语?的优势来去?较,语?只是?个?具,是实现程序设计师思想的?具,就像我们之前中学学?何时,有的时候需要要圆规,有的时候需要?三?尺?样,拿相应的?具去做它最擅?的事才是正确的选择。

1.3 python解释器

当我们编写Python代码时,我们得到的是?个包含Python代码的以.py为扩展名的?本 ?件。要运?代码,就需要Python解释器去执?.py?件。由于整个Python语?从规范到解释器都是开源的,所以理论上,只要?平够?,任何?都 可以编写Python解释器来执?Python代码(当然难度很?)。事实上,确实存在多种Python解释器。

CPython

当我们从Python官??站下载并安装好Python3.6后,我们就直接获得了?个官?版本的解释器: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的字节码。

2. python发展史

1989年,为了打发圣诞节假期,Guido(?叔)开始写Python语?的编译器。 Python这个名字,来?Guido所挚爱的电视剧Monty Python’s Flying Circus。他 希望这个新的叫做Python的语?,能符合他的理想:创造?种C和shell之间,功能 全?,易学易?,可拓展的语?。

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

Granddaddy of Python web frameworks, Zope 1 was released in 1999

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

In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible

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

原文地址:https://www.cnblogs.com/liuhui0308/p/11788887.html

时间: 2024-10-03 22:29:32

python基础(1):python介绍、python发展史的相关文章

python学习手册——1介绍python对象类型

在python ,数据以对象的形式出现--无论是python提供的内置对象,还是使用python或是像C扩展库这样的扩展语言工具创建的对象.尽管在以后才能确定这一概念,但对象无非是内在中的一部分,包含数值和相关操作的集合. 由于对象是python 最基本的概念,从这一章开始我们将会全面地体验python的内置对象类型. python程序可以分解成模块,语句,表达式以及对象,如下所示: 1.程序由模块构成 2.模块包含语句 3.语句包含表达式 4.表达式建立并处理对象 为什么使用内置类型 1.内置

Python基础-linux/window下python安装简单介绍

1.linux安装python linux : 无需安装,自带原装Python环境 2. linux更新python2.7.5-python3.7.4 一.查看当前linux安装的python版本 [[email protected] ~]# python -VPython 2.7.5 二.安装gcc,用于编译Python源码 [email protected] soft]#yum install gcc gcc-c++ -y  三.下载最新的python包并安装 进入python官网(http

Python基础入门教程,Python学习路线图

给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大家能真正打开python的大门,进入这个领域.现在互联网巨头,都已经转投到人工智能领域,而人工智能最好的编程语言就是python,未来前景显而易见.黑马程序员是国内最早开设人工智能的机构. 一.首先先推荐一个教程 8天深入理解python教程:http://pan.baidu.com/s/1kVNm

Python基础(1)python+Eclipse+pydev环境搭建

编辑器:Python 自带的 IDLEPython基础(1)python+Eclipse+pydev环境搭建

python基础第5篇 python基础补充内容

知识内容: 1.python代码编写规范 2.模块导入与使用 3.python文件名 4.python脚本的"__name__"属性 5.python之禅 一.python代码编写规范 1.缩进 python程序是依靠代码块的缩进来体现代码之间的逻辑的.对于类定义.函数定义.选择结构.循环结构以及异常处理结构来说,行尾的冒号以及下一行的缩进表示一个代码块的开始,而缩进结束则表示一个代码块的结束,这些将在后面具体代码中可以体现出来 示例: 1 # __author__ = "w

Python基础----面向对象编程介绍、类和对象

面向对象变成介绍 面向过程编程 核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西.主要应用在一旦完成很少修改的地方,如linux内核.git.apache服务器等 优点:极大的降低了程序的设计复杂度 缺点:可扩展性差,改动一个地方很可能要改多个地方,牵一发而动全身 面向对象编程:不是编程的全部,只是用来解决软件可扩展性的 核心是对象(上帝式思维),对象作为程序的基本单元,一个对象包含了数据和操作数据的函数.面向对象就是把计算

2.Python基础:数据类型介绍

世界上大概有3000多种语言,其中汉语是使用人数最多的语言,英语是使用最广泛的语言,国际交流,一般都会说英语.计算机也一样,他也有自己的语言,一方面说计算机非常强大,能处理各种复杂的程序,另一方面他却远远比不上人类,那就是语言的辨识度. 2.1 数据类型介绍 int(整型) 在32位机器.整数位数为32位,取值范围-2-31~2-31-1 即-2147483648 - 2147483647 在64位系统,整数位为64位,取值范围为-2-63~2-63-1,即-922322720368547758

Python 基础 - 3 包介绍,语法

什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Module). 使用模块有什么好处? 最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,包括Pyt

python基础(一)--python介绍

1. Python语言 1.1 编程语言 语言是人类最重要的交际工具,是人类之间进行信息交换的主要表达方式. 编程语言是用来定义计算机程序的语言,用来向计算机发出指令. 1.2 Python语言 Python语言是一种面向对象的解释型计算机程序设计语言. Python语言创始人为吉多·范罗苏姆(Guido van Rossum) 2. Python语言特点 2.1 优点 简单: Python是一种代表简单主义思想的语言.阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常

python基础之从认识python到python的使用

python的历史: python的创始人是吉多·范罗苏姆(Guido van Rossum),人称“龟叔”,1989年圣诞节期间,Guido开始写Python语言的编译器.他希望这个叫做Python的语言能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言. Python是一门崇尚优美.清晰.简单.优秀并广泛使用的语言. Python的应用领域: web开发--Python web框架包括最火的Django(官方的标语把Django定义为the framework fo