Python 环境安装
Python下载
Python3 下载
Python2 下载
Python3 环境安装
Python2 环境安装
Python2和Python3双环境配置
将Python2和Python3同时安装在一台Windows上(注:Python2安装时没有加入环境变量的选项,安装完成后需要手动配置环境变量),在未进行配置的情况下默认是Python3环境。
以下方法为配置Python2为默认Python环境,调用Python3环境时需要输入"python3":
Python语言介绍
Python的应用领域
云计算: 典型应用OpenStack
WEB开发:典型WEB框架有Django,网站Youtube, 豆瓣等均使用Python开发
科学运算、人工智能:典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
系统运维:系统自动化运维必备
金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析很有优势,生产效率远远高于c,c++,java,尤其擅长策略回测
图形GUI:PyQT, WxPython,TkInter
编程语言分类
Python是一门动态解释型的强类型定义语言
编译型和解释型
编译型
程序源代码由编译器一次性编译成机器可执行的二进制程序(机器只能识别和执行由二进制码0和1构成的程序),由机器执行该一次性编译打包的二进制程序。编译型语言执行速度快,可以脱离语言环境独立运行,但可移植性差,需要针对不同的系统平台(Linux,Windows)进行编译,将Windows上编译的程序放到Linux上可能无法执行。
解释型
程序执行时,程序源代码由解释器一条一条的解释成二进制程序来给机器执行。解释型语言执行速度不如一次性编译后再执行的编译型语言快,但可移植性好,只要系统上安装了语言环境(解释器)并且编写的程序不依赖操作系统,同一程序可以在不同的系统平台上执行。
- 混合型
比较接近解释型语言的特征,但在执行之前已经预先进行一次预编译,生成的代码是介于机器码和Java源代码之间的中介代码,运行的时候则由JVM(Java的虚拟机平台,可视为解释器)解释执行。它既保留了源代码的高抽象、可移植的特点,又已经完成了对源代码的大部分预编译工作,所以执行起来比“纯解释型”程序要快许多。
静态语言和动态语言
- 动态语言
定义变量时不需要指定变量的数据类型,程序运行时才去检查变量的数据类型,并将变量的数据类型保存下来,例如Python,Shell等。
- 静态语言
定义变量时需要指定变量的数据类型,程序编译时检查变量的数据类型,例如C/C++,JAVA,C#等。
强类型定义语言和弱类型定义语言
- 强类型定义语言
一个变量被指定了某个数据类型后,如果不经过强制转换,那它永远都是这个数据类型,强类型定义语言也被称为类型安全的语言,带来的严谨性能够有效的避免许多错误。
- 弱类型定义语言
数据类型可以被忽略的语言,一个变量可以赋予不同数据类型的值,弱类型定义语言相比强类型定义语言在速度上略有优势。
注意:动/静态语言和强/弱类型定义语言没有必然联系
Python语言的特点
- 优点
具备强大的第三方库,开发效率高;
可移植性好,如果编写的Python程序不依赖系统的特性,那么程序就可以在不同的系统平台上运行;
可扩展性好,如果希望某一段关键代码运行得更快或者希望某些算法不公开,可以把该部分代码用C/C++编写,然后在Python程序中调用它们;
可嵌入性好,可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能
- 缺点
- 运行速度相对于C/C++,JAVA等要慢一些,但绝大部分运行速度的差距人是无法感知的,只能借助相关测试工具,除非是搜索引擎等对运行速度要求极高的程序,建议使用C/C++编写;
- 代码不能加密,解释型语言源代码都以明文存放,如果要求代码加密,软件项目不能选择Python;
- 线程不能利用多CPU,即使在多核CPU平台上,由于GIL(全局解释器锁)的存在,禁止多线程的并行执行
Python解释器
- CPython
Python的官方解释器,是使用C语言开发的,所以叫CPython,在命令行下运行python启动的就是CPython解释器。
- PyPy
PyPy解释器目标是执行速度,采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
- 其他解释器
无关紧要,Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
来源:https://www.cnblogs.com/bitdancer/p/12200685.html