1:条件表达式(三元操作符)

Python 在很长的一段时间里没有条件表达式(C ? X : Y), 或称三元运算符。人们试着用 and 和 or 来模拟它, 但大多都是错误的。 根据 FAQ , 正确的方法(并不唯一)是:(C and [X] or [Y])[0]。

唯一的问题是社区不同意这样的语法。最后 Python 2.5 集成的语法确定为: X if C else Y

在 2.5以前的版本中, Python 程序员最多这样做(其实是一个 hack):

>>> smaller = (x < y and [x] or[y])[0]
>>> smaller
3

在 2.5 和更新的版本中, 你可以使用更简明的条件表达式:

>>> smaller = x if x < y else y
>>> smaller
3

2:for语句

Python中的for 语句提供了 Python 中最强大的循环结构。它可以遍历序列成员,可以用在 列表解析 和 生成器表达式中,它会自动地调用迭代器的 next()方法,捕获 StopIteration 异常并结束循环(所有这一切都是在内部发生的)。

和传统语言(例如 C/C++或Java)中的 for 语句不同,Python 的 for 更像是 shell 或是脚本语言中的 foreach 循环。

使用迭代器做 for 循环的代码与使用序列条目几乎完全相同。事实上在大多情况下, 你无法分辨出你迭代的是一个序列还是迭代器。

唯一的区别就是 for 语句会做一些额外的事情。迭代器对象有一个 next() 方法, 调用后返回下一个条目。所有条目迭代完后, 迭代器引发一个 StopIteration 异常告诉程序循环结束。 for 语句在内部调用 next() 并捕获异常。

3:循环与else

Python中,可以在 while 和 for 循环中使用 else 语句。在循环中使用时, else子句只在循环完成后执行, 也就是说 break 语句也会跳过 else 块。

以寻找最大约数为例。 代码如下:

def showMaxFactor(num):
count = num / 2
while count > 1:
if num % count == 0:
print 'largest factor of %d is %d' % (num, count)
break
count -= 1
else:
print num, "is prime"

同样地,for 循环也可以有 else 用于循环后处理。 它和while 循环中的else 处理方式相同。 只要for 循环是正常结束的(不是通过 break ), else 子句就会执行。

Python基础:06条件和循环的更多相关文章

  1. Python基础之条件和循环

    阅读目录 一.if语句 1.1功能 1.2语法 1.2.1:单分支,单重条件判断 1.2.2:单分支,多重条件判断 1.2.3:if + else 1.2.4:多分支if + elif +else 1 ...

  2. Python基础:条件判断 &&循环

    1:条件判断 2:循环 2.1:for 2.2  while 小结: continue :跳出本次循环 进行下次循环,  break :结束循环体.

  3. 『Python基础-7』for循环 & while循环

    『Python基础-7』for循环 & while循环 目录: 循环语句 for循环 while循环 循环的控制语句: break,continue,pass for...else 和 whi ...

  4. 【Python】-NO.99.Note.4.Python -【Python3 条件语句 循环语句】

    1.0.0 Summary Tittle:[Python]-NO.99.Note.4.Python -[Python3 条件语句 循环语句] Style:Python Series:Python Si ...

  5. python基础之条件控制与循环

    Python3 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户 ...

  6. Python基础__Python语法基础、条件、循环

    之前主要讨论的是Python的对象,这本节将第一次走进Python的语言之旅,将会介绍条件与循环.本节我们将会涉及到复合语句,简要介绍一下Python的语法规则是有必要的Python语法规则 1.语句 ...

  7. Python基础:条件判断与循环的两个要点

    一.条件判断: Python中,条件判断用if语句实现,多个条件判断时用if...elif实现:看下面一段程序 #python 3.3.5 #test if...elif age = 20 if ag ...

  8. Python基础之条件语句和循环

    条件语句 Python中的条件语句分为 if ...else . if ...elif...else  以及if ...else 的嵌套使用: username = input('请输入您的用户名:' ...

  9. python学习第六天:python基础(条件判断、循环)

    条件判断 格式 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> ...

  10. #7 Python顺序、条件、循环语句

    前言 上一节讲解了Python的数据类型和运算,本节将继续深入,涉及Python的语句结构,相当于Python的语法,是以后编写程序的重要基础! 一.顺序语句 顺序语句很好理解,就是按程序的顺序逻辑编 ...

随机推荐

  1. 关于neo4j的嵌入式和驱动包模式该如何选择,还请解惑

    看了网上的一些资料和Neo4j权威指南这本书.与图遍历相关的介绍都是基于嵌入式模式下的java Api.但是个人觉得在实际的项目中,嵌入式的模式,代码必须放在数据库所在服务器上,且服务器的启停操作都在 ...

  2. 数据库安全 (ch.4)

    4.2.4 授权与回收 使用 Grant 授予权限 使用Revoke 回收权限 Grant [权限] ON *.. to * [with grant option] with grant option ...

  3. day18 16.dbcp连接池使用介绍

    package cn.itcast.datasource; import java.io.FileInputStream; import java.sql.Connection; import jav ...

  4. CentOS安装fortune+cowsay

    1.先找下看有没 2.安装 yum -y install fortune-mod 3.执行fortune 应该可以输出了,接着去弄中文词库,阮一峰的: git clone git@github.com ...

  5. angular依赖注入(3) —— 的提供商

    一.注册商必须写在NgModel当中,不然只能对当前组件注入 二.写法: 1.令牌:providers:[Logger,Data] 2.供应商定义对象:providers:[{provide:Logg ...

  6. 如何成功安装旧版本火狐,成功安装firebug

    1.下载一个老版本火狐浏览器: 历史版本下载 2.下载安装完成后,立即在火狐浏览器的选项设置里面把自动更新关闭 3.手动安装firebug:最后搜到可以下载成功的地址:http://www.onlin ...

  7. docker.[6] 数据卷

    docker.[6] 数据卷 操作指令: # docker run -v /data1:/data2 -i -t centos /bin/bash 参数说明: data1 : 这里指的是宿主机的目录( ...

  8. oralce默认语言

    默认语言设置可以确定数据库如何支持与区域设置相关的信息,例如: 日和月份的名称及其缩写 A.M..P.M..A.D. 和 B.C. 的等价表示方法的符号 指定 ORDER BY SQL 子句时字符数据 ...

  9. let 和const命令

    ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效.换句话说,let声明了块级作用域. 输出 看下面代码: 输出: 变量i是var声明的,在 ...

  10. Rol租车网项目总结

    现在自行车的租聘如此火爆,我们是否需要加入这个浩浩荡荡的行列? 相比起现在ofo共享单车,摩拜单车.而我们的竞争力在何处? 如何能让我们的项目脱颖而出? 而我们的Rol租车网为什么要叫Rol呢? Ri ...