2、Python程序控制结构(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:逐一显示指定列表中的所有元素;


2、Python程序控制结构(0530)的更多相关文章
- python程序控制结构
一:顺序结构 顺序结构的程序是指程序中的所有语句都是按照书写顺序逐一执行的,但是顺序结构的程序功能有限. 二:选择结构 选择结构也称为分支结构,用于处理在程序中出现两条或更多执行路径可供选择的情况.选 ...
- Python学习笔记(四)Python程序的控制结构
在学习了 Python 的基本数据类型后,我们就要开始接触Python程序的控制结构,了解 Python 是如何使用控制结构来更改程序的执行顺序以满足多样的功能需求.如果有的小伙伴在之前学过C语言,j ...
- 运行python程序
1 在windows下运行python程序 1)从DOS命令行运行python脚本 用python解释器来执行python脚本,在windows下面python解释器是python.exe,我的pyt ...
- 【python之路2】CMD中执行python程序中文显示乱码
在IDLE中执行下面代码,中文显示正常: # -*- coding:utf-8 -*- st=raw_input("请输入内容")print st 但在CMD中执行e:\hello ...
- Python程序高效地调试
现在我在debug python程序就只是简单在有可能错误的地方print出来看一下,不知道python有没像c++的一些IDE一样有单步调试这类的工具?或者说各位python大神一般是怎么debug ...
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
- python程序一直在后台运行的解决办法
刚写了个python程序,要一直在后台运行,即使断开ssh进程也在,下面是解决办法: 假如Python程序为test.py 编写shell脚本start.sh #!/bin/bash python t ...
- 第一个python程序
一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...
- Python程序的首行
>问题 >>在一些python程序中的首行往往能够看见下面这两行语句中的一句 >>>#!/usr/bin/Python >>>#!/usr/bin ...
随机推荐
- 20165305 实验一: Java开发环境的熟悉
实验1-1 建立"自己学号exp1"的目录. 在"自己学号exp1"目录下建立src,bin等目录. javac,java的执行在"自己学号exp1& ...
- WIN7系统怎样增加C盘空间
具体操作参考:https://jingyan.baidu.com/article/215817f78e05c01eda142385.html
- 转:【专题九】实现类似QQ的即时通信程序
引言: 前面专题中介绍了UDP.TCP和P2P编程,并且通过一些小的示例来让大家更好的理解它们的工作原理以及怎样.Net类库去实现它们的.为了让大家更好的理解我们平常中常见的软件QQ的工作原理,所以在 ...
- 如何干净卸载mysql
一.在控制面板中卸载mysql软件: 二.卸载过后删除C:\Program Files (x86)\MySQL该目录下剩余了所有文件,把mysql文件夹也删了: 三.windows+R运行“reged ...
- [转载]Oracle中的NVL函数
Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...
- [转载]ADO.NET中的五个主要对象
Connection:主要是开启程序和数据库之间的连接.没有利用连接对象将数据库打开,是无法从数据库中取得数据的.Close和Dispose的区别,Close以后还可以Open,Dispose以后则不 ...
- jquery遍历获取每一行数据进行对比
$("#dtlTable tr:gt(0)").each(function(i){ var orderQtyBy = $("input[name='orderQtyBys ...
- Spring Boot REST API 自动化测试
Spring Boot需要写大量的Junit代码来测试REST API, 这点让不了解代码的人很头疼.如果使用REST client工具测试REST API,很多REST Client工具是不支持自动 ...
- netstat -ano输出中的ESTABLISHED off
今天,我们性能测试的环境出现个奇怪现象,通过oci direct load回库的进程似乎僵死了,应用端cpu 200%(两个线程在跑,一个是一直在ocidirectload没反应,另外一个是正在sem ...
- 更改 centos 7的源为 阿里源
阿里源的网址在这里:http://mirrors.aliyun.com/repo/ 一.进入源文件存放目录 cd /etc/yum.repos.d 二.安装基本源: 1.如果要备份原来的源文件 sud ...