Python基本语法_控制流语句_if/while/for
来源:互联网 发布:安卓数据恢复软件 apk 编辑:程序博客网 时间:2024/06/05 18:48
目录
- 目录
- 前言
- 软件环境
- If 语句
- While循环
- break
- continue
- for 循环
- 遍历String
- 遍历Tuple
- 遍历List
- 遍历Dictionary
- 最后
前言
控制流语句用于改变程序语句流(默认为自上而下顺序执行)的执行顺序,其中Python的基本控制流语句,主要有以下3种:
1. if 语句:根据条件返回的结果执行相应的代码块
2. for 循环:通过遍历容器对象的索引来实现循环
3. while 循环:根据条件返回是否为True来判断是否执行循环体
在本篇中主要会介绍Python中控制流语句,以及一些在应用上的经验。
软件环境
- 系统
- Ubuntukylin 14.04
- 软件
- Python 2.7.6
- IPython 4.0.0
If 语句
语法格式:
if expression1: 代码块 #expression1 == Trueelif expression2: 代码块 #expression1 == False and expression2 == Trueelse: 代码块 #expression2 == False
If语句可以根据expression的bool值来执行相应的代码组。需要注意的是,在Python中并没有switch..case语句来实现定值判断。但是可以使用elif语句和‘ == ’来实现类似的效果。
代码组:以关键字开始的缩进相同的一组代码组成的代码块。其中首行句末的 : 号标识代码块的开始。即是在Python语法中,以关键字为首的语句行中必须以 : 结尾。
一个域值判断的小例子:
In [21]: %%file ifTest.py#!/usr/bin/env python#coding=utf8number1 = 10number2 = int(raw_input("Ple enter a number:"))if number2 < number1 : print "<"elif number2 > number1 : print ">"else : print "="print "Done"
Output :
In [30]: run ifTest.pyPle enter a number:20>DoneIn [31]: run ifTest.pyPle enter a number:1<DoneIn [32]: run ifTest.pyPle enter a number:10=Done
注意:在if语句中的expression可以充分利用Python的运算、比较、逻辑等运算符来满足判断条件的需求。if语句根本上只在乎表达式最终返回的结果是 True or False 。同时,在Python的真值表中0表示False,非0表示True。请参考Pyethon运算符详解:http://blog.csdn.net/jmilk/article/details/48666475
While循环
语法格式:
while expression: 代码块 #expression == Trueelse: 代码块 #expression == False
While语句需要根据expression的返回值来判断是否继续执行循环。值得注意的是,为了避免永循环的出现,一般需要写入控制循环次数或终止循环的条件。即是在循环过程中需要有expression == False的时候,而且当循环条件为False时,则执行else代码块。当然else语句是可选的,else代码块一般用于实现循环结束后的清理工作。同时While循环也可以使用下面的附加语句来实现循环中断。
NOTE: else 关键字存在时也不一定必须执行,当 while 循环中有 break 时, else 不执行。
break
break语句会令语句流跳到循环体外,以此来提前终止循环,接着执行循环下面的语句。
Note:在嵌套循环中,break语句只会跳出本层循环,而不会跳出外层循环
注意:通常结合if语句来实现:当满足条件时,则退出循环。下面是一个小例子:
In [12]: cat breakTest.py#!/usr/bin/env python#coding=utf8i = 0while True: print "%d" % i , i += 1 if i > 10:breakprint "Done"In [13]: run breakTest.py0 1 2 3 4 5 6 7 8 9 10 Done
continue
相对的,有时并不希望终止整个循环操作,而是希望提前结束本次循环,并接着执行下一次循环,这时可以使用continue语句。continue语句会跳过循环体中下面尚未执行的语句,转到循环体结束点之前,接着执行expression,然后再进行下一次是否执行循环的判断。这样可以达到提高程序执行效率的效果。
In [10]: cat continueTest.py#!/usr/bin/env python#coding=utf8import sysi = 101count = 0while (i > 0): i -= 1 if i%5: continue print i, count += 1print "Done"print "Execution times:%d" % count In [11]: run continueTest.py100 95 90 85 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 DoneExecution times:21
上面的小例子会将1-100之间能被5整除的数字打印出来。
for 循环
语法格式:
for iterationVariable in iterationObject: 代码块 #When the iterationObject in intertionVariableelse: 代码块 #when the loop completer
Python的For循环完全区别于Java或C/C++等编程语言,其通过遍历一个容器中所有的索引来决定循环的次数和操作。
其中容器可以是List、Tuple、Dictionary、String等,本质上是利用for循环的迭代器iterator,来逐个遍历容器中的项目,并且逐一赋值给迭代变量,然后执行代码块,直到遍历完成循环结束。
遍历String:
In [17]: %%file forStr.py ....: #!/usr/bin/env python ....: #coding=utf8 ....: name = 'JMilk' ....: for n in name: ....: print n, ....: print "Done" ....: Writing forStr.pyIn [18]: run forStr.pyJ M i l k Done
遍历Tuple
In [19]: %%file forTuple.py ....: #!/usr/bin/env python ....: #coding=utf8 ....: number = (1,2,3,4,5) ....: for n in number: ....: print n, ....: print "Done" ....: Writing forTuple.pyIn [20]: run forTuple.py1 2 3 4 5 Done
遍历List
In [21]: %%file forList.py ....: #!/usr/bin/env python ....: #coding=utf8 ....: li = range(1,6) ....: for l in li: ....: print l, ....: print "Done" ....: Writing forList.pyIn [22]: run forList.py1 2 3 4 5 Done
遍历Dictionary
In [61]: cat forDic.py#!/usr/bin/env python#coding=utf8dic = {'name':'Jmilk','age':'23'}#Example1print dic.items()for key,value in dic.items(): print "Example1:The key is %s and the value is %s" % (key,value)#Example2for key in dic: print "Example2:The key is %s and the value is %s" % (key,dic[key])print "Done"In [62]: run forDic.py[('age', '23'), ('name', 'Jmilk')]Example1:The key is age and the value is 23Example1:The key is name and the value is JmilkExample2:The key is age and the value is 23Example2:The key is name and the value is JmilkDone
上面的例子使用了两种遍历字典的方法。
Example1:先调用items( )将字典转化为List和Tuple的复合数据类型,再遍历每一个List中的Tuple元素。
Example2:遍历Dictionary的key,调用dic[key]获取key映射的value。
最后
Python控制流语句具有非常强大的功能,例如:利用for循环来获取文件内容,实现Ddictionary到String的转换等等。尤其是for循环和List解析的特性会碰撞出非常有趣的火花。在往后的篇章里我们一起去记录。
Jmilk
- Python基本语法_控制流语句_if/while/for
- python控制流语句-while,for,if
- python 基本语法 遍历 for while
- Python详解(一)Python的基本语法,简单数据类型,和while,for循环控制,ifesle控制
- 【python】python控制流---if、for、while
- Python的控制语句,(if,while,for)之if
- Python学习--控制语句:if, while, for, break, continue
- mysql分页_日期转换_模糊查询_if语句等常用语法
- 4 Java基础语法(switch语句,循环语句(for,while),控制跳转语句(break,return,continue))
- PYTHON-if while,for语句
- Python基本语法_输入/输出语句详解
- 黑马程序员_if ,Switch,for语法练习
- Python笔记1:基本语法和控制语句
- Python基础语法(2)——字典、函数定义使用、控制流(if&for&while)
- Python学习流程控制 if 语句、while语句、for..in...循环
- Java的基本语法:if语句、for循环、while循环嵌套
- python if语句、while&for语句
- awk 控制语句(if for do while)
- 已知二叉树先序遍历中序遍历求其后序遍历、重建二叉树
- [转载]cocos2d-x游戏开发(十四)用shader使图片背景透明
- PHP学习笔记
- [转载]WebSocket+Node.js 通讯及在 iPhone中 实现
- 数组指针和指针数组
- Python基本语法_控制流语句_if/while/for
- quantmod getsymbols 里面出现 Error in download.file cannot open URL
- 欢迎使用CSDN-markdown编辑器
- Linux内核编译流程
- Swing问题记录
- 怎样理解 R 里面的 evironment
- Git windows下git bash显示中文
- leetcode 19 Remove Nth Node From End of List
- 主流Web模板安全漏洞导致沙箱为恶意人士所破