@Author: Basil Guo
@Date: Jun. 9, 2021
@Description: Python简介和开发环境搭建


1. 什么是Python

Python是一门跨平台、开源、免费、解释性高级动态编程语言,拥有大量的第三方库,也即是说Python的社区很完善,很活越。由于Python可以拟合多种不同的语言,所以Python也被称为是“胶水语言”。它有以下特性:

  • 支持伪编译将 Python 源程序转换为字节码来优化程序和提高运行速度
  • 支持使用 py2exe、pyinstaller 或 cx_Freeze 工具将 Python 程序转换为二进制可执行文件
  • 支持命令式编程、函数式编程
  • 支持面向对象

Python分为2.x和3.x,不过现在Python 2.x已经不再维护,所以都建议使用Python 3.x版本。但是Python的3.x也分为了好多种版本,你可以在主机上安装多个版本的Python,不同的版本之间使用环境变量进行切换。

Python 3.x引入的变化主要有:

  1. print()是一个函数而非关键字了;
  2. Python APIs例如range()dict.keys()dict.values()返回的是生成器而不是列表,这改善了使用它们时的性能;
  3. 简化了排序比较规则,例如不同元素类型的列表不能排序,因为列表能排序前提是元素可比较;
  4. 整数类型简化为了一个:intlong也是int
  5. 整数除法/返回一个浮点数,而地板除//才会返回整数;
  6. 使用unicode编码,混用文本和二进制将会导致异常,这破坏了和Python 2.x的向后兼容性;
  7. Python 3引入了新的语法,如函数注解,nonlocal语句等;
  8. Python 3更新了原语法,如异常处理,元类规范等。

下面这段,作为初学者不需要了解。Python作为一门语言,它是解释执行的,就是写一句话只要符合语法就可以执行。但它只是规范,也有很多变种的解释器。

  • 官方是CPython,就是底层使用C语言写的解释器;
  • IPython,在CPython的基础上做了一些交互式语法的增强,CPython用>>>作为提示符,而IPython用In [序号]:作为提示符;
  • PyPy,采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度;
  • Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行;
  • IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

    2. 文档

    写程序离不开看书和实践,书籍推荐《编程小白的第一本Python入门书》、《Python编程:从入门到实践》、《Fluent Python》。这是一个循序渐进的顺序,而且也只能算是入门书,以后要做数据分析或者别的,还需要阅读其它书籍。

最好的教程其实是Python的官方文档,Python社区很完善,所以Python官方文档有中文版本。但是Python的文档太长了,直接看没有什么逻辑性,所以还是推荐从看书开始看起,如果实在不行,也可以先去听视频。这里视频没什么好推荐的,直接去哔哩哔哩搜索也行。

3. 开发环境

Python语言有两种运行方式,一种是直接在命令行解释执行,一种是写一个.py文件执行。命令行这种对于很简单的或者就是玩一玩的时候是可用的。做项目肯定是需要写一个.py文件的,而“工欲善其事必先利其器”,拥有一个完好的编辑器和运行环境是非常重要的,这两者结合就是集成开发环境(Integrated Development Environment,IDE)。常用的Python的IDE很多,但是找到自己最顺手的最好了。

  1. IDLE是官方提供的一个非常简便的Python的集成开发环境,全称是Integrated Development and Learning Environment。但是它不适合作为大型项目的开发环境,还是以学习的时候使用比较好。
  2. PyCharm,这是个人比较推荐的一个,是由JetBrains公司开发的,学生可以免费试用,只需要使用edu邮箱申请一个账号即可以了。
  3. Anaconda,这个比较厉害,集成了大量的数据分析类的Python第三方包,不用自己使用pip一个个安装了。不过它是使用的conda的包管理器,写Python还是需要使用Spider或者Jupyter Notebook,也是内置的,它使用的就是IPython。
  4. VS Code,严格来说,这只是一个编辑器,不是IDE,但是通过合理搭配插件就可以组装成一个简便的IDE。这些插件被打包成了Python Extension Pack,安装即可使用。不过一般安装两个就可以了,都是MicroSoft公司出品的Python以及Visual Studio IntelliCode这两个插件就可以使用了。

后三个都是我用过的也是常用的开发环境,如果不愿意折腾,就不要使用VS Code,可以使用PyCharm,如果做数据分析,可以使用Anaconda,然后使用Jupyter Notebook效果很好。