Python简介
Python是一种高级计算机程序设计语言。Python提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库。此外还有大量的第三方库。
1. Python历史
Python是荷兰人吉多·范罗苏姆(Guido van Rossum)在1989年圣诞节假期发明的。Python3于2008年12月3日发布,不完全兼容Python2。2020年1月1日起,Python不再提供对Python2版本的官方支持。
2. Python特性
- 跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。
- 面向对象编程,允许开发者定义类和对象,方便进行模块化和组织代码。
- 丰富的第三方库,如用于数据分析(如NumPy、Pandas)、机器学习(如TensorFlow、scikit-learn)、Web开发(如Django、Flask)
- 多范式支持,Python支持如过程式编程和函数式编程,这为开发者提供了更大的灵活性。
- 动态类型,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__()
方法。