Python执行一个程序分为三个阶段php
阶段一:先启动python解释器java
阶段二:python解释器把硬盘中的文件读入到内存中python
阶段三:python解释器解释执行刚刚读入内存的代码linux
2、编程语言的分类:程序员
一:机器语言:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
优势:灵活、直接执行和速度快。
缺点:不一样型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另外一种计算机上执行。 二:汇编语言:汇编语言的实质和机器语言是相同的,都是直接对硬件操做,只不过指令采用了英文缩写的,标识符更容易识别和记忆。它一样须要编程者将每一步具体的操做用命令的形式写出来。
优势:能完成通常高级语言所不能实现的操做,并且源程序经汇编生成的可执行文件比较小,且执行速度很快。
缺点:源程序比较冗长、复杂、容易出错,并且使用汇编语言编程须要有更多的计算机专业知识。 三:高级语言:明确地讲,高级语言就是说人话,用人类能读懂的(好比英文)字符编程。高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令而且去掉了与具体操做有关但与完成工做无关的细节,例如使用堆栈、寄存器等。
优势:大大简化了程序中的指令。同时,因为省略了不少细节,编程者也就不须要有太多的专业知识。
缺点:高级语言所编制的程序不能直接被计算机识别,必须通过转换才能被执行。
按转换方式可将它们分为两类: 解释类:执行方式相似于咱们平常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(如python程序,先翻译/编译成字节码,而后由解释器解释执行,这个过程程序员都无需关心了,享受这种便利便可),一边执行
优势:这种方式比较灵活,调试程序极为方便,程序一旦出错,当即调试当即就能够测试结果
缺点:效率比较低,并且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器。只在执行程序时,才一条一条的解释成机器语言给计算机来执行,因此运行速度是不如编译后的程序运行的快的.
编译类:编译是指在程序执行以前,就将程序源代码“翻译”成机器指令,并保存成二进制文件 优势:编译后的代码能够直接在机器上运行,运行速度比解释型要高。 缺点:调试程序麻烦,程序一旦须要修改,必须先修改源代码,再从新编译后才能执行。
总结:编程语言经历了:机器语言-------->汇编语言------------>高级语言(java,C#,php,ruby,python)编程
1:开发效率从低到高ruby
2:执行效率从高到低编程语言
3:掌握难度从难到易测试
注解:执行效率不是问题,硬件已经足够用,因而开发效率成了关键,于是高级语言在当今世界大行其道。spa
3、Python简介
注:
1. 首先须要知道,只有在import导入py文件时,才会产生pyc字节码文件,该字节码文件是能够代替源文件而直接执行的
2. 但每次执行py文件,产生的字节码并不会保留下来,也就是说,每次执行py文件,都是要从新经历一遍:py文件->字节码-->python解释器-->机器码,每次都是一个从新解释执行的过程。
4、linux环境下更新python
1 查看默认Python版本 2 python -V 3 4 1、安装gcc,用于编译Python源码 5 yum install gcc 6 2、下载源码包,https://www.python.org/ftp/python/ 7 3、解压并进入源码文件 8 4、编译安装 9 ./configure 10 make all 11 make install 12 5、查看版本 13 /usr/local/bin/python2.7 -V 14 6、修改默认Python版本 15 mv /usr/bin/python /usr/bin/python2.6 16 ln -s /usr/local/bin/python2.7 /usr/bin/python 17 7、防止yum执行异常,修改yum使用的Python版本 18 vi /usr/bin/yum 19 将头部 #!/usr/bin/python 修改成 #!/usr/bin/python2.6
5、python入门
文件头
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*-
当行注视:# 被注释内容
多行注释:''' 被注释内容 '''
Python有大量的模块,从而使得开发Python程序很是简洁。类库有包括三中:
Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 import sys 5 6 print sys.argv
执行Python代码时,若是导入了其余的 .py 文件,那么,执行过程当中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译以后产生的字节码。
ps:代码通过编译能够产生字节码;字节码经过反编译也能够获得代码。
6、变量
#!/usr/bin/env python name='egon' #变量的声明
name #经过变量名,引用变量的值
print(name) #引用而且打印变量名name对应的值,即'egon'
输入输出
python2中全部raw_input与python3的input是一个意思
特色:把全部用户的输入都转成字符串类型
python2中有input
特色:用户输入什么类型,就存成什么类型
%控制输出打印位置
import getpass 隐藏密码输入
6、简单运算符
一、算数运算:
二、比较运算:
三、赋值运算:
四、位运算:
注: ~ 举例: ~5 = -6 解释: 将二进制数+1以后乘以-1,即~x = -(x+1),-(101 + 1) = -110
按位反转仅能用在数字前面。因此写成 3+~5 能够获得结果-3,写成3~5就出错了
五、逻辑运算:
逻辑运算符优先级:从高到低:not > and > or
Ture and False or False => False or False => False
not Ture and False or False => False and False or False => False or False => False
Ture or False and not False => Ture or False and Ture => Ture or False => Ture
and注解:
or注解:
and-or结合使用:
(1 and 'x') or 'y'
六、成员运算:
7.身份运算
8.运算符优先级:自上而下,优先级从高到低