1 解释器
解释器(英语:Interpreter),又译为直译器,是一种电脑程序,能够把高级编程语言一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位"中间人",每次运行程序时都要先转成另一种语言再作运行,因此解释器的程序运行速度比较缓慢。它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去。
Python、TCL和各种Shell程序一般而言是使用解释器执行的。微软公司的Qbasic语言也是解释方式,它不能生成可执行程序(但Quick Basic和Visual Basic可以);运用广泛的网络编程语言java则同时有解释和编译方式。在开始之前有必要再次强调:下面介绍的解释器是一个源代码解释器。也就是说,解释器在执行时,每次读入一条语句,并且根据这条语句执行特定的操作;然后再读入下一条语句,依次类推。这与伪代码解释器是有所区别的,例如早期的Java运行时系统。两者的区别在于:源代码解释器直接对程序的源代码解释执行;而伪代码解释器先将程序的源代码转化为某种与机器无关的中间代码,然后再执行中间代码。相比之下,源代码解释器更易于创建,并且不需要一个独立的编译过程。
1 #!/usr/bin/env python 指明脚本由python解析器执行 2 # -*- coding: utf-8 -*- 告诉python解析器用utf-8编码执行代码;不指明编码的话,python解析器默认用ascill编码执行代码。 3 4 print "Hello World!!!"
1.1 #!/usr/bin/env python与#!/usr/bin/python的区别
#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;
#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。
2 raw_input()与input()
在python2.x中raw_input( )和input( ),两个函数都存在,其中区别为:
raw_input( )将所有输入作为字符串看待,返回字符串类型;
input( )只能接收“数字”的输入,在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。
在python3.x中raw_input( )和input( )进行了整合,去除了raw_input( ),仅保留了input( )函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
3 变量的定义规则
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名:
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
4 if语句
if 条件: 代码块 else: 代码块
if 条件: 代码块 elif 条件: 代码块 else: 代码块
条件可以是:
True False 等式(< > == !=) 组合条件(or and)
5 while循环
while 条件: 代码块
例:
#!/usr/bin/env python #-*- coding:utf-8 -*- import time ks = 1 flag = True while flag: print ks if ks ==10: flag = False ks = ks + 1 time.sleep(1) print('end')
break
用于跳出当前循环,并且break下面的代码,将不再执行。
continue
用于跳出本次循环,继续下一次循环
6 练习
练习一:
#!/usr/bin/env python #-*- coding:utf-8 -*- #使用while循环输出1,2,3,4,5,6,7,8,9,10 ks = 1 while True: print ks if ks == 10: break ks += 1
练习二:
#!/usr/bin/env python #-*- coding:utf-8 -*- #求1加到100的和 sum = 0 i = 1 while True: sum = sum + i i = i + 1 if i > 100: print sum break
#!/usr/bin/env python #-*- coding:utf-8 -*- #求1加到100的和 sum = 0 i = 1 while True: sum = sum + i if i == 100: break i += 1 print sum
练习三:
#!/usr/bin/env python #-*- coding:utf-8 -*- #输出1-100内所有奇数 求余 % i = 1 while i<100: if (i%2)==1: print i i = i + 1
练习四:
#!/usr/bin/env python #-*- coding:utf-8 -*- #求1-2+3-4+5...99=? sum = 0 i = 1 while i<100: if (i%2)==1: sum = sum + i elif (i%2)==0: sum = sum - i i = i + 1 print sum
练习五:
#!/usr/bin/env python #-*- coding:utf-8 -*- #用户登录(三次机会重试) import getpass i = 3 while i > 0: user = raw_input('user:') pwd = getpass.getpass() if user == "admin" and pwd == "admin": print("登录成功") break elif user != "admin" or pwd == "admin": print("你还有"+str(i)+"次机会重试") i = i - 1 continue