Python中的条件判断语句与循环语句用法小结


Posted in Python onMarch 21, 2016

if语句

>>通用格式
if语句一般形式如下:

if <test1>:
 <statements1>
elif <test2>:
 <statements2>
else:
 <statements3>

另外需要注意的是,Python中是没有switch/case语句的

while循环

while语句是Python语言中最通用的迭代结构,简而言之,只要顶端测试一直计算到真值,就会重复执行一个语句块。

>>一般格式

while <test>:
 <statements1>
else:
 <statements2>
>>break,continue,pass和循环else

break

跳出最近所在的循环(跳过整个循环语句)。

continue

跳到最近所在循环的开头处(来到循环的首行)。

pass

什么事也不做,只是空占位符语句。

循环else块

只有当前循环正常离开时才会执行(也就是没有碰到break语句)

>>一般循环格式
加入break和continue语句后,while的一般格式变为:

while <test1>:
 <statements1>
 if <test2>:break
 if <test3>:continue
else:
 <statements2>
>>pass

pass语句是无运算的占位符,当语法需要语句并且还没有任何实用的语句可写时,就可以使用它。

>>循环else
在while语句中加入else和C/C++中的语法不太一样,这里详细说明一下。else后面的代码只有当循环正常结束时才会执行,如果是用break跳出循环的,这部分代码就不会运行,具体看一个求质数的例子:

x = y // 2
while x > 1:
 if y % x == 0:
  print(y,'has factor',x)
  break
 x -= 1
else:
 print(y,'is prime')

再看一个对比的例子,没有使用else的情况:

found=False
while x and not found:
 if (matchx[0]):
  print('Ni')
  found=True
 else:
  x=x[1:]
if not found:
 print('not found')
使用else后的情况:

while x:
 if (match(x[0])):
  print('Ni')
  break
else:
 print('not found')

for循环

for循环在Python中是一个通用的序列迭代器:可以遍历任何有序的序列对象内元素。for语句可以用于字符串、列表、元组、其他内置可迭代对象。

>>一般格式

for <target> in <object>:
 <statements>
else:
 <statements>

此处的else的作用和while语句中的一样。另外需要注意的是,当Python运行for循环时,会逐个将序列对象中的元素赋值给目标,然后为每个元素执行循环体。

编写循环的技巧

内置range函数:返回一系列连续增加的整数,可作为for中的索引
内置zip函数:返回并行元素的元组的列表,可用于在for中遍历数个数列
>>循环计数器:while和range
range

当range函数只有一个参数时,会返回从零算起的整数列表,但其中不包括该参数的值。如果传进两个参数,那第一个参数是上边界,第二个参数是下边界。如果传进三个参数时,第三个参数表示步进值。

range提供了一种简单的方法,重复特定次数的动作:

for i in range(5):
 print(i,'Pythons')

相应的C++代码则是:

int i;
for(i = 0;i < 5;++i)
{
 std::cout<<i<<"Python";
}

>>并行遍历:zip和map
zip会取得一个或多个序列为参数,然后返回元组的列表,将这些序列中的并排的元素配成对。

L1=[1,2,3,4]
L2=[5,6,7,8]
list(zip(L1,L2))

上述代码的执行结果是:

[(1,5),(2,6),(3,7),(4,8)]

当参数的长度不同时,zip会以最短序列的长度为准来截断所得到的元组。

使用zip构造字典:

keys=['spam','eggs','totast']
values=[1,2,5]
D = dict(zip(keys,values))

>>产生偏移和元素:enumerate
enumerate函数一个比较新的内置函数,它能同时返回元素值和偏移值:

s='spam'
for (offset,item) in enumerate(s):
 print(item,'appears at offset',offset)
Python 相关文章推荐
Python中正则表达式的用法实例汇总
Aug 18 Python
python的即时标记项目练习笔记
Sep 18 Python
探寻python多线程ctrl+c退出问题解决方案
Oct 23 Python
详解Python中的条件判断语句
May 14 Python
Python中的super()方法使用简介
Aug 14 Python
Python字符串、元组、列表、字典互相转换的方法
Jan 23 Python
使用pycharm生成代码模板的实例
May 23 Python
python实现NB-IoT模块远程控制
Jun 20 Python
三步实现Django Paginator分页的方法
Jun 11 Python
postman模拟访问具有Session的post请求方法
Jul 15 Python
python创建与遍历List二维列表的方法
Aug 16 Python
wxPython实现带颜色的进度条
Nov 19 Python
举例讲解Python中的迭代器、生成器与列表解析用法
Mar 20 #Python
深入解析Python中函数的参数与作用域
Mar 20 #Python
总结Python编程中函数的使用要点
Mar 20 #Python
两个命令把 Vim 打造成 Python IDE的方法
Mar 20 #Python
Python中列表、字典、元组数据结构的简单学习笔记
Mar 20 #Python
Python的Socket编程过程中实现UDP端口复用的实例分享
Mar 19 #Python
使用Python编写基于DHT协议的BT资源爬虫
Mar 19 #Python
You might like
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
Laravel中使用自己编写类库的3种方法
2015/02/10 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
ThinkPHP实现简单登陆功能
2017/04/28 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
2019/06/08 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
DOMAssitant最新版 DOMAssistant 2.5发布
2007/12/25 Javascript
javascript 定义初始化数组函数
2009/09/07 Javascript
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
js输出列表实现代码
2010/09/12 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
jQuery实现径向动画菜单效果
2015/07/17 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
通过正则表达式获取url中参数的简单实现
2016/06/07 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
JS继承与闭包及JS实现继承的三种方式
2017/10/15 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
JavaScript switch语句使用方法简介
2019/12/30 Javascript
javascript实现画板功能
2020/04/12 Javascript
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
python操作excel让工作自动化
2019/08/09 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
初一家长会邀请函
2014/01/31 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
演讲稿格式范文
2014/05/19 职场文书
领导干部遵守党的政治纪律情况思想汇报
2014/09/14 职场文书
学生通报表扬范文
2015/05/04 职场文书