编译型语言:是指代码写好之后,须要使用专门的编译器进行编译,一次性将代码转换成特定的系统平台(操做系统)能够识别并运行的机器语言(机器码)。python
优势:编译器通常会有预编译的过程对代码进行优化。在运行代码以前,对其编译只作一次,生成一个系统可直接运行的机器码文件,运行时不须要再次编译,因此编译型语言的程序执行效率高,能够脱离语言环境独立运行。linux
缺点:编译以后若是须要修改,就须要整个模块从新编译,编译的时候根据对应的运行环境(操做系统)生成机器码,不一样的操做系统之间移植就会有问题,须要根据运行的操做系统环境编译不一样的可执行文件。c++
好比c, c++, Go, Swift, Object-C, Pascal...算法
解释型语言:是指代码写好之后,须要使用该语言的解释器将代码转换成一种易于执行的中间代码(字节码),而后再将字节码转换成特定的系统平台可识别的机器码,能够这样理解:每次执行解释型语言的程序都须要进行一次编译,才能够放到特定的系统中去运行。编程
优势:有良好的平台兼容性,在任何环境中均可以运行,前提是安装了对应平台的解释器,具备灵活性,修改代码的时候直接修改源代码,而后作一下转换工做就能够,能够快速部署,不用停机维护。windows
好比JavaScript, Python, Ruby, PHP, Perl, Eriang...浏览器
python创始人是Guido van Rossum(吉多.范罗苏姆),于1989年开发,1991年公开发行;函数
python是一种解释型、面向对象(也支持面向过程)、动态数据类型的高级程序设计脚本语言,语法简洁清晰,采用缩进来定义语句块,具有来及自动回收功能,可以自动管理内存空间使用,python虚拟机自己几乎适用于全部系统,使用诸如py2exe、PyPy、Pyinstaller之类的工具可将源代码转换成脱离python解释器执行的程序,这里咱们主要参考的是CPython,是基于C语言开发的一种自由编程软件。工具
Cpython性能
Python的官方版本,使用C语言实现,使用最为普遍,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),而后运行在Python虚拟机上。
Jyhton
Python的Java实现,Jython会将Python代码动态编译成Java字节码,而后在JVM上运行。
IronPython
Python的C#实现,IronPython将Python代码编译成C#字节码,而后在CLR上运行。(与Jython相似)
Shed Skin
Python编译器,可以将python代码转换成优化的C++代码
PyPy(特殊)
Python实现的Python解释器,将Python的字节码字节码再编译成机器码。
Python语言的动态编译器,是Psyco的后继项目
可运行在linux,MacOSX(32),Windows(32)平台中
其余
RubyPython、Brython ...
脚本:
自动执行常见的管理任务,如在系统中新增用户,将文件上传到网站,在不使用浏览器的状况下下载网页等。
网站开发:
做为快速建立动态网站的工具,Django,Bottle,Zope等众多Python项目深受开发人员的欢迎。
文本处理:
Python在字符串和文本文件处理方面提供了强大支持,包括正则和Unicode
科学计算:
Python科学计算库,提供了用于统计,数学计算和绘图的函数
简单易学,入门容易。
高级语言,无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性,你的全部python程序无需修改就几乎能够在市场上全部的系统平台上运行。
可扩展性,若是你须要你的一段关键代码运行的更快或者但愿某些算法不公开,你能够把你的部分程序用c或c++编写,而后在你的python程序中使用它们。
可嵌入性,你能够把python嵌入你的c/c++程序,从而向你的程序用户提供脚本功能。
1,交互式解释器
直接启用python自带的解释器,也就是一个命令行窗口,能够直接执行python代码,通常做为调试代码用,而且,执行完之后,难以再次运行
例如:
2,python程序文件
将python代码保存到一个文件中,并以.py结尾,能够方便屡次运行
例如:新建一个名字为test的.py文件,内容以下:
#!/usr/bin/env python # -*- coding:utf-8 -*- import platform print platform.uname()
#第一行为shebang,指定执行下面内容的解释器 #第二行指定编码格式,python2默认为ascii #第三行经过import来导入一个python的模块platform #第四行打印platform模块的uname方法的执行结果
模块:事先写好的能够被调用的函数集合的程序文件
windows系统运行方式:
打开命令提示符[dos],输入python,进入python解释器,直接输入代码,回车便可运行,如:
python的程序文件
可分解成模块,语句,表达式和对象,它们的关系是:
程序由模块构成,模块包含语句,语句包含表达式,表达式创建并处理对象
例如:
1+1,是某件事,即表达式
print(1+1) 是作某件事,即语句
Python中单行注释采用#开头,多行注释采用三个单引号(''' ... ''')或三个双引号(""" ... """)引发来;
注释也能够用在行的结尾,用来表示注释信息;
#!/usr/bin/env python # -*- coding:utf-8 -*- #FileName:hello.py #这是单行注释 ''' 这是多行注释 这是多行注释 这是多行注释 ''' """ 这是多行注释 这是多行注释 这是多行注释 """
.pyc文件
执行python代码时,若是导入了其余的.py文件,那么在其执行过程当中会自动生成一个同名的.pyc文件,该文件就是python解释器编译后产生的字节码文件,代码通过编译能够产生字节码,字节码经过反编译也能够获得代码。
行和缩进
python的代码块使用缩进来控制类、函数及其余逻辑判断的模块,这也是python不一样于其余语言的地方。
如:
if Ture: print ("True") #前面以空格缩进: else: print ("False") #前面以空格缩进
注意:行首缩进的空格数量是可变的,但必须保证全部的代码块语句,缩进的空格数是一致的,建议在每一个缩进层次使用单个制表符或两个空格或四个空格,切记不能混用。