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 ...
随机推荐
- Java锁详解
http://blog.csdn.net/pzasdq/article/details/53128331 http://blog.csdn.net/truelove12358/article/deta ...
- Njinx配置
参考地址: NGINX的百度百科:https://baike.baidu.com/item/nginx/3817705?fr=aladdin NGINX的中文网站:http://www.nginx.c ...
- 第一周java测验感想
在正式开学的第一周,建民老师就给我们来了一个下马威.我本身的编程基础比较差,不知道怎么去想,怎么去一步步的去完成这么一个工程.所以我在星期四的下午十分的痛苦…因为不知道怎么搞嘛.尽管在暑假的时候看了 ...
- Linux sed 命令字符串替换使用方法详解
1. sed替换的基本语法 sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义.2. 单引号” ‘ ’”是没有办法用反斜线” ...
- RTSP 与 RTMP 协议 (转)
源: RTMP协议与RTSP协议比较 RTSP 与 RTMP 协议 RTSP Spec中文版(1-11) RTSP协议 流媒体之rtsp篇 H264视频传输.编解码----RTSP协议
- scrapy进阶(CrawlSpider爬虫__爬取整站小说)
# -*- coding: utf-8 -*- import scrapy,re from scrapy.linkextractors import LinkExtractor from scrapy ...
- jquery photoClip支持手机端,PC端 本地裁剪图片后上传插件
支持手机,PC最好的是jquery photoClip插件,下载地址&示例:https://github.com/topoadmin/photoClip demo.html 代码: <! ...
- ssh连接出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
ssh远程连接的时候出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!连接失败 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...
- Linux-eval
shell中eval的用法示例: 语 法:eval [参数] 功能说明:eval会对后面的[参数]进行两遍扫描,如果在第一遍扫面后cmdLine是一个普通命令,则执行此命令:如果cmdLine中含有变 ...
- 纯注解方式配置spring+springMVC
1.新建类initConfig,继承AbstractAnnotationConfigDispatcherServletInitializer,并重写getRootConfigClasses().get ...