2Python程序控制结构(0530)
Posted Hi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2Python程序控制结构(0530)相关的知识,希望对你有一定的参考价值。
条件测试:
1、if 条件测试表达式
python的比较操作
1、所有的python对象都支持比较操作
- 可用于测试相等性、相对大小等;
- 如果是符合对象,python会检查其所有部分,包括自动遍历各级嵌套对象,直到可以得出最终结果
2、测试操作符
- “==” 操作符测试值的相等性
- “is” 表达式测试对象的一致性
3、python的比较操作
- 数字:通过相对大小进行比较
- 字符串:按照字典次序逐字符进行比较
- 列表和元组:自左至右比较各部分内容
- 字典:对排序之后的(键、值)列表进行比较
4、python中真和假的含义
- 非零数字为真,否则为假
- 非空对象为真,否则为假
- none则始终为假
字符串:按照字典次序逐字符进行比较(按照字母表或ASCII码)
2、python中的真假:
- 任何非 0 数字和非空对象都为真
- 数字0、空对象和特殊对象None都为假
- 比较和相等测试会递归地应用于数据结构中
- 返回值为True或False
3、组合条件测试:
- X and Y:与运算
- X or Y :或运算
- not x:非运算
if测试的语法结构
if boolean_expression1:
suite1
elif boolean_expression2:
suite2
...
else:
esle_suite
elif语句是可选的
仅用于占位,而后再填充相关语句时,可以使用pass
A = X if Y else Z //如果Y条件满足,那么A=X,否则A=Z,三元表达式
if Y:
A=X
else:
A=Z
while和for循环
循环机制及应用场景
1、while循环
- 用于编写通用迭代结构(非遍历式的)
- 顶端测试为真即会执行循环体,并会重复多次测试直到为假后执行循环后的其他语句
2、for循环
- 一个通用的序列迭代器,用于遍历任何有序的序列对象内的元素
- 可用于字符串、元组、列表和其它的内置可迭代对象,以及通过类所创建的新对象
3、python也提供了一些能够进行隐形迭代的工具
- in 成员关系测试
- 列表解析
- map、reduce和filter函数
while循环
1、语法格式
else 分支为可选部分
只要boolean_expression的结果为true,循环就会执行;
boolean_expression的结果为false时终止循环,此时如果有else分支,则会执行
2、语法格式
while语法格式:
while bool_expression:
while_suite
else:
else_suite
while循环语法格式扩展
break:跳出最内层的循环
continue:跳到所处的最近层循环的开始处
pass:点位语句
else代码库:循环正常终止才会执行,如果循环终止是由break跳出导致的,则else不会执行
练习题1:逐一显示指定列表中的所有元素;
简化:
练习4:创建一个包含了100以内所有奇数的列表; 练习5:逆序显示列表中的所有元素;
练习6:列表l1 = [0,1,2,3,4,5,6],列表l2 = [\'sun\',\'mon\',\'tue\',\'wed\',\'thu\',\'fri\',\'sat\'],以第一个列表中的元素为键,以第二个列表中的元素为值生成字典d1;
while true:死循环
for循环
1、语法格式
通常,expression或是一个单独的变量,或是一个变量序列,一般以元组的形式给出
如果以元组或列表用于expression,则其中的每个数据项都会拆分到表达式的项,例如
T=[(1,2),(3,4),(5,6),(7,8)]
for (a,b) in T:
print a,b
for循环形式扩展
编写循环的技巧
1、for循环比while循环执行的速度快
2、python提供了两个内置函数,用于在for循环中定制特殊的循环
range或xrange
range:一次性的返回连续的整数列表
xrange:一次产生一个数据元素,相较于range更节约空间
zip
返回并行的元素元组的列表,常用于在for循环中变量数个序列
range函数
1、非完备遍历
用于每隔一定的个数元挑出一个元素
2、修改列表
并行遍历
1、zip
- 取得一个或多个序列为参数,将给定序列中的并排的元素配成元组,返回这些元组的列表
- 当参数长度不同时,zip会以最短序列的长度为准
- 可在for循环中用于实现并行迭代
- zip也用于动态构造字典
产生偏移和元素
enumerate
- range 可在非完备遍历中用于生成索引偏移,而非偏移处的元素
- 如果同时需要偏移索引和偏移元素,则可以使用 enumerate() 函数
- 此内置函数返回一个生成器对象
练习题1:逐一显示指定列表中的所有元素;
以上是关于2Python程序控制结构(0530)的主要内容,如果未能解决你的问题,请参考以下文章