1 解释器

  解释器(英语:Interpreter),又译为直译器,是一种电脑程序,能够把高级编程语言一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位"中间人",每次运行程序时都要先转成另一种语言再作运行,因此解释器的程序运行速度比较缓慢。它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去。

  Python、TCL和各种Shell程序一般而言是使用解释器执行的。微软公司的Qbasic语言也是解释方式,它不能生成可执行程序(但Quick Basic和Visual Basic可以);运用广泛的网络编程语言java则同时有解释和编译方式。在开始之前有必要再次强调:下面介绍的解释器是一个源代码解释器。也就是说,解释器在执行时,每次读入一条语句,并且根据这条语句执行特定的操作;然后再读入下一条语句,依次类推。这与伪代码解释器是有所区别的,例如早期的Java运行时系统。两者的区别在于:源代码解释器直接对程序的源代码解释执行;而伪代码解释器先将程序的源代码转化为某种与机器无关的中间代码,然后再执行中间代码。相比之下,源代码解释器更易于创建,并且不需要一个独立的编译过程。

 #!/usr/bin/env python       指明脚本由python解析器执行
# -*- coding: utf-8 -*- 告诉python解析器用utf-8编码执行代码;不指明编码的话,python解析器默认用ascill编码执行代码。 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

最新文章

  1. C#之委托与事件
  2. DevOps is dirty work - CI drives you crazy
  3. winform 记住密码功能
  4. 谈FME批量自动化数据转换方法
  5. jQuery入门级part.1
  6. Java异常(一) Java异常简介及其架构
  7. 只显示 前100个字 java 实现截取字符串!使用! &lt;c:if test=&quot;${fn:length(onebeans.info)&gt;100 }&quot;&gt;${ fn:substri
  8. 移动H5前端性能优化指南[托尼托尼研究所]
  9. SoapUI模拟REST MockService
  10. Caused by: java.lang.ClassNotFoundException: org.springframework.integration.handler.support.HandlerMethodArgumentResolversHolder
  11. websocket ----简介,以及demo
  12. Maya cmds pymel 获取安装选择顺序选择的物体
  13. ipv6无网络访问权限怎么办
  14. 关于pyquery小知识点
  15. bzoj1001/luogu4001 狼抓兔子 (最小割/平面图最小割转对偶图最短路)
  16. CF891C Envy 最小生成树/虚树
  17. 1. eclipse异常问题解决办法
  18. Python3基础 if else 格式 输入一个整数并判断是8吗
  19. ArrayList Vector LinkedList(一)
  20. Please ensure JDK installation is valid and compatible with the current OS

热门文章

  1. activeMQ消息队列的使用
  2. maven的.m2文件夹
  3. Java字符串常量池是什么?为什么要有这种常量池?
  4. ROS indigo安装完成后运行小乌龟示例程序
  5. oracle 基本语法(一)
  6. 【题解】洛谷P1006传纸条
  7. 初入AngularJS基础门
  8. Do not mutate vuex store state outside mutation handlers.
  9. mysql存储过程和函数(一)
  10. (转)阿里巴巴Druid数据源及使用