@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引入的变化主要有:
print()是一个函数而非关键字了;- Python APIs例如
range(),dict.keys(),dict.values()返回的是生成器而不是列表,这改善了使用它们时的性能; - 简化了排序比较规则,例如不同元素类型的列表不能排序,因为列表能排序前提是元素可比较;
- 整数类型简化为了一个:
int,long也是int; - 整数除法
/返回一个浮点数,而地板除//才会返回整数; - 使用unicode编码,混用文本和二进制将会导致异常,这破坏了和Python 2.x的向后兼容性;
- Python 3引入了新的语法,如函数注解,
nonlocal语句等; - 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很多,但是找到自己最顺手的最好了。
- IDLE是官方提供的一个非常简便的Python的集成开发环境,全称是Integrated Development and Learning Environment。但是它不适合作为大型项目的开发环境,还是以学习的时候使用比较好。
- PyCharm,这是个人比较推荐的一个,是由JetBrains公司开发的,学生可以免费试用,只需要使用edu邮箱申请一个账号即可以了。
- Anaconda,这个比较厉害,集成了大量的数据分析类的Python第三方包,不用自己使用pip一个个安装了。不过它是使用的conda的包管理器,写Python还是需要使用Spider或者Jupyter Notebook,也是内置的,它使用的就是IPython。
- VS Code,严格来说,这只是一个编辑器,不是IDE,但是通过合理搭配插件就可以组装成一个简便的IDE。这些插件被打包成了Python Extension Pack,安装即可使用。不过一般安装两个就可以了,都是MicroSoft公司出品的Python以及Visual Studio IntelliCode这两个插件就可以使用了。
后三个都是我用过的也是常用的开发环境,如果不愿意折腾,就不要使用VS Code,可以使用PyCharm,如果做数据分析,可以使用Anaconda,然后使用Jupyter Notebook效果很好。
