1、Python简介
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。
python是一种面向对象,直译式的计算机程序语言,Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言
2、Python应用领域
云计算: 应用OpenStack
自动化:Saltstack、Ansible
系统运维: 运维人员必备语言
图形GUI: PyQT, WxPython,TkInte
WEB开发: 众多大型网站均为Python开发,Youtube,典型WEB框架有Django
科学运算:人工智能,典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
金融行业:在金融工程领域,作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测。
3、Python语言分析
编程语言主要从以下角度分类:
编译型和解释型
静态语言和动态语言
强类型定义语言和弱类型定义语言
3.1、Python编译型
负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器(Compiler)。如果我们写的程序代码都包含在一个源文件中,那么通常编译之后就会直接生成一个可执行文件,我们就可以直接运行了。
但对于一个比较复杂的项目,为了方便管理,我们通常把代码分散在各个源文件中,作为不同的模块来组织。这时编译各个文件时就会生成目标文件(Objectfile)而不是前面说的可执行文件。一般一个源文件的编译都会对应一个目标文件。这些目标文件里的内容基本上已经是可执行代码了,但由于只是整个项目的一部分,所以我们还不能直接运行。待所有的源文件的编译都大功告成,我们就可以最后把这些半成品的目标文件“打包”成一个可执行文件了,这个工作由另一个程序负责完成,由于此过程好像是把包含可执行代码的目标文件连接装配起来,所以又称为链接(Link),而负责链接的程序就叫链接程序(Linker)。
3.2、Python解释型
打个比方:如果你打算预读一本外文书,而你不知道这么外语,那么你可以找一名翻译,给他足够的时间让他从头到尾把整本书翻译好,然后把书的母语版交给你阅读。这个过程就编译,或者你也立刻让这名翻译辅助你阅读,让他一句一句的给你翻译,如果你想往回看某个章节他也的重新给你翻译。
两种方式:前者就相当于编译型:一次把所有的代码转换成机器语言,然后写成可执行文件。而后者就相当于我们要的解释型:在程序运行的前一刻, 还只有源程序而没有可执行程序;而程每执行到资源程序的某一条执行,则会有一个称之为解释程序的外壳程序,将源代码转换成二进制代码以供执行.
从以上看来,Python是解释型语言
4、Python优点
Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂. 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期.
1、高级语言
当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
2、可移植性
由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)
3、可扩展性
如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
4、可嵌入性
你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
5、Python缺点
1、速度慢
Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些.
2、代码无法加密
因为PYTHON是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,如果你的项目要求源代码必须是加密的,那你一开始就不应该用Python来去实现。
3、线程不能利用多CPU
GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的 工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于 GIL的存在,所以禁止多线程的并行执行。
6、Python实现方式
Python身为一门编程语言,但是他是有多种实现方式的,这里的实现指的是符合Python语言规范的Python解释程序以及标准库等。
Python的实现方式主要分为三大类
1. Cpython
2. Jpython
3. IronPython
6.1、CPython
Cpython是默认的Python解释器,这个名字根据它是可移植的ANSI C语言代码编写而成的这事实而来的。
1. 当执行Python执行代码的时候,会启用一个Python解释器,将源码(.py)文件读取到内存当中,然后编译成字节码(.pyc)文件,最后交给Python的虚拟机(PVM)逐行解释并执行其内容,然后释放内存,退出程序。
2. 当第二次在执行当前程序的时候,会先在当前目录下寻找有没有同名的pyc文件,如果找到了,则直接进行运行,否则重复上面的工作。
3. pyc文件的目的其实就是为了实现代码的重用,为什么这么说呢?因为Python认为只要是import导入过来的文件,就是可以被重用的,那么他就会将这个文件编译成pyc文件。
4. python会在每次载入模块之前都会先检查一下py文件和pyc文件的最后修改日期,如果不一致则重新生成一份pyc文件,否则就直接读取运行。
6.2、 Jython
Jython是个Python的一种实现方式,Jython编译Python代码为Java字节码,然后由JVM(Java虚拟机)执行,这意味着此时Python程序与Java程序没有区别,只是源代码不一样。此外,它能够导入和使用任何Java类像Python模块。
6.3、IronPython
IronPython是Python的C#实现,并且它将Python代码编译成C#中间代码(与Jython类似),然后运行,它与.NET语言的互操作性也非常好。
7、Python安装
7.1、windows
1.下载安装包 Python3.5 for windows
2.安装 默认安装路径:C:\python3.5.2
3.配置环境变量(原来的值;C:\python27,切记前面有分号)
右键计算机-->属性-->高级系统设置-->环境变量-->找到变量名为Path的一行双击-->Python安装目录追加到变量值中。用分号;分割
4.Windows更新Python,卸载重装即可
7.2、Mac
1.下载以下软件,直接双击运行即可安装
Mac OS X 下载安装包直接双击安装就行
2.执行Python3命令即可查询
zhanghedeMacBook-Pro:~ zhanghe$ python
Python 2.7.10 (default, Jul 30 2016, 18:31:42)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
8、Python简单入门
创建一个hello.py文件编写第一个程序
[root@Bj-Py ~]# cat hello.py #!/usr/bin/env python print ("hello world!") [root@Bj-Py ~]# python hello.py hello world