Skip to content

Python简介

Python是一种高级计算机程序设计语言。Python提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库。此外还有大量的第三方库。

1. Python历史

Python是荷兰人吉多·范罗苏姆(Guido van Rossum)在1989年圣诞节假期发明的。Python3于2008年12月3日发布,不完全兼容Python2。2020年1月1日起,Python不再提供对Python2版本的官方支持。

2. Python特性

  1. 跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。
  2. 面向对象编程,允许开发者定义类和对象,方便进行模块化和组织代码。
  3. 丰富的第三方库,如用于数据分析(如NumPy、Pandas)、机器学习(如TensorFlow、scikit-learn)、Web开发(如Django、Flask)
  4. 多范式支持,Python支持如过程式编程和函数式编程,这为开发者提供了更大的灵活性。
  5. 动态类型,Python是动态类型语言,变量在赋值时无需声明类型,支持在运行时改变变量类型,增强了灵活性。

3. Python解释器

编写的Python代码进行运行时需要Python解释器去执行py文件,目前存在多种Python解释器。

3.1 CPython

从Python官方网站下载安装Python默认使用解释器就是CPython,这个解释器是用C语言开发的,所以叫CPython。CPython是使用最广的Python解释器。

3.2 IPython

IPython是基于CPython之上的一个交互式解释器,IPython只是在交互方式上有所增强。

3.3 PyPy

PyPy采用JIT技术,对Python代码进行动态编译,可以显著提高Python代码的执行速度。

3.4 Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

4. Python2和3区别

4.1 整数除法

Python2中,两个整数的运算结果只能是整数,对于除不尽的情况,Python2会将结果向下取整。Python3中,除法返回浮点数,比如12/5的结果为2.4。

4.2 字符串类型

Python2中,str类型默认使用ASCII编码,unicode类型使用Unicode编码;Python3中,str类型默认使用Unicode编码,bytes类型使用ASCII编码。

4.3 不同类型的比较

Python2中,支持,如字符串与数字可以比较大小。Python3中,不支持,字符串与数字不可以比较大小。

4.4 字典键值对方法的返回类型

Python2中,keys()values()items()方法返回列表。
Python3中,keys()values()items()方法分别返回dict_keys、dict_values、dict_items类型。

4.5 range(),map(),filter(),zip()函数返回值

Python2中,返回列表。Python3中,返回一个迭代器对象

4.6 ord(),chr()函数

Python2中,只支持ASCII字符码即0-255。Python3中,支持所有Unicode码。

4.7 迭代器对象的下一个值

Python 2中,next()方法。Python 3中,__next__()方法。