python - 条件语句/循环语句/迭代器
条件测试:
if 条件表达式
python 的比较操作
所有的python对象都支持比较操作
可用于测试相等性、相对大小等
如果是复合对象,python会检查其所有部分,包括自动遍历各级嵌套对象,知道可以得出最终结果。
测试操作符
‘==’操作符测试值得相等性
'is' 表达式测试对象的一致性。
python 中不同类型的比较方法
数字:通过相对大小进行比较
字符串:按照字典次序逐字符进行比较
列表和元组:自左至右比较各部分内容
字典:对排序之后的(键、值)列表进行比较
python 中真和假的含义
1.任何非零数字和非空对象都为真,否则为假
2.数字0、空对象和特殊None 均为假
3.比较和相等测试会递归地应用于数据结构中
4.返回值为True或False
组合条件测试:
X and Y : 与运算
X or Y : 或运算
not X :非运算
判断语句格式:
if boolean_expression1:
suite1
elif boolean_expression2:
suite2
else:
eslse)suite
while 循环
用于便携通用迭代结构
顶端测试为真即会执行循环体,并且重复多次测试知道为假后执行循环后的其他语句
循环表达式:
while boolean_expression:
while_suite
else:
else_suite
#只要boolean_expression的结果为True ,循环就一直执行;
#boolean_expression的结果为False时终止循环,此时如果有else分支,则会执行.
************************************************************************
* #break 跳出最内层的循环
* #continue 跳出所处的最近层循环的开始处
* #pass 点位语句
* #else 代码块,循环正常终止才会执行,如果循环终止是由break 跳出导致 * 的,则else不会执行。
************************************************************************
while 表达式:
while True:
x = raw_input('')
if x == 'q' or x == 'quit':
break
else:
test.append(x)
for循环
一个通用的序列迭代器,用于遍历任何有序的序列对象内的元素
可用于字符串、元组、列表和其他的内置可迭代对象,以及通过类所穿件的新对象。
python 也提供了一些能够进行隐形迭代的工具:
in成员关系测试
列表解析
map、reduce和filter函数
for表达式:
for expression in object:
for_suite
if boolean_expression2 : continue
if boolean_expression3 :break
else:
else_suite
python 迭代
迭代:重复做一件事
iterable(可迭代)对象
支持每次返回自己所包含的一个成员对象
对象实现了__iter__方法
序列类型,如:list,str,tuple
非徐磊类型,如:dict,file
用于自定义的一些包含_iter_()或_getitem_()方法的类
迭代器又称游标,它是程序设计的软件设计模式,是一种可在容器物件(container,如列表等)上实现元素遍历的接口
迭代器是一种特殊的数据结构,
简单理解方式:对于一个集体中的每一个元素,想要执行遍历,那么针对这个集合的迭代器定义了遍历集体每一个元素的顺序或方法.
迭代器本身是不可逆的.
迭代器
在python中迭代器是遵循迭代协议的对象
使用iter()可从任何序列对象中得到迭代器
若要实现迭代器,需要在类中定义next()方法(python3 中是 __next__())
要使得迭代器指向下一个元素,则使用成员函数next()
在python中,是函数next(),而非成员函数
当没有元素时,则会引发stoptieration异常
文件是可迭代:
iter()
_iter_()
for循环可用于任何可迭代对象
for循环开始时,会通过迭代协议传递给iter()内置函数,从而能够从可迭代对象中获取一个迭代器,返回的对象含有需要的next方法.
python列表解析:
列表解析是python迭代机制的一种应用,它常用于实现创建新的列表,因此要放置[]中
语法:
[expression for iter_var in iterable ]
[expression for iter_var in iterable if cond_expr ]
生成器表达式
生成器表达式并不是真正创建数字列表,而是返回一个生成器对象,此对象在每次自己算出一个条目后,把这个条目'产生'(yield)出来
生成器表达式使用了"惰性计算"或称作'延迟求职'的机制
序列过长,并且每次只需要取一个元素时,应当考虑使用生成器表达式而不是列表解析
生成器表达式于python2.4引入
语法:
(expr for iter_var in iterable)
(expr for iter_var in iterbale if cond_expr)
python - 条件语句/循环语句/迭代器的更多相关文章
- python条件、循环语句
既然讲到语句,那先说明一下语句块.语句块不是一种语句,是一组语句.在条件为真时执行或者多次的一组语句.主要注意其格式,用冒号来标识语句块的开始,块中每行缩进相同的量,一般4个空格(tab字符位置为8个 ...
- Python 2.7 学习笔记 条件与循环语句
本文介绍下python条件和循环语句的语法 一.if条件语句 语法格式如下: if 表达式: .... elif 表达式: .... elif 表达式: .... else: ..... 说明:与其它 ...
- python实例 条件和循环语句
#! /usr/bin/python #条件和循环语句 x=int(input("Please enter an integer:")) if x<0: x=0 ...
- #7 Python顺序、条件、循环语句
前言 上一节讲解了Python的数据类型和运算,本节将继续深入,涉及Python的语句结构,相当于Python的语法,是以后编写程序的重要基础! 一.顺序语句 顺序语句很好理解,就是按程序的顺序逻辑编 ...
- 【Python】-NO.99.Note.4.Python -【Python3 条件语句 循环语句】
1.0.0 Summary Tittle:[Python]-NO.99.Note.4.Python -[Python3 条件语句 循环语句] Style:Python Series:Python Si ...
- python系列八:Python3条件控制&循环语句
#!/usr/bin/python #-*-coding:gbk-*-#Python3 条件控制&循环语句import randomage = int(input("请输入你的年龄: ...
- Python之路-条件控制&循环语句&列表推导式&常用函数
一.什么是条件控制语句 条件控制语句,也可以称之为判断语句,通过一条或多条的执行结果来决定接下来要执行的代码块. 二.if语句 if语句是用来进行判断的,最简答的if语句只有一个判断一个操作. 语法: ...
- Python中的条件和循环语句
条件和循环语句 1. 条件语句 if单用 格式:if 条件表达式 例如:if 5 > 3: print('True') >>> 'True' #当条件满足时才会执行上述操作. ...
- 详解Python中的循环语句的用法
一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...
- Python数据结构与循环语句
# Python数据结构与循环语句: 首先编程是一项技能,类似跑步,期初不必在意细节,能使用起来就行,等学的游刃有余了再回过头来关注细节问题也不迟. 关于买书: 学会python之后,才需要买书 ...
随机推荐
- ElasticSearch6.5.0 【Rejecting mapping update to [posts] as the final mapping would have more than 1 type】
今天想在一个Index上增加一个type,结果报错 java.lang.IllegalArgumentException: Rejecting mapping update to [posts] as ...
- testng优化:失败重跑,extentReport+appium用例失败截图,测试报告发邮件
生成的单html方便jenkins集成发邮件,= = 构建失败发邮件 参考:https://blog.csdn.net/galen2016/article/details/77975965 步骤: 1 ...
- python 基础技巧
多个字典合并 >>> d1 = {'name' : 'revotu', 'age' : 99} >>> d2 = {'age' : 24, 'sex' : 'mal ...
- Centos 6\7下yum安装rstudio-server\shiny-server
rstudio-server安装 #wget https://download2.rstudio.org/rstudio-server-rhel-1.1.463-x86_64.rpm #yum ins ...
- PL/SQL Developer连接本地Oracle 11g 64位数据库和快捷键设置
1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files ...
- ArcMap登录和ArcGIS online都是灰色,无法连接网络的解决方法
此问题可能由多种原因造成,表现为系统托盘中的 ArcGIS Online 地球图标断开连接(显示红色×). 解决方法: 方法一: 在系统托盘中的 ArcGIS Online 地球图标右键单击此图标 & ...
- oldboy s21day02
1.猜数字,设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了:如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环.while 1: num ...
- ext.net 实现gridpanel checkbox锁定
<%@ Page Language="C#" %> <%@ Register Assembly="Ext.Net" Namespace=&qu ...
- Javascript async异步操作库简介
异步操作知识 在js世界中, 异步操作非常流行, nodejs就是特点基于异步非阻塞. js语言支持的异步语法包括, Promise async await generator yield. 这些语 ...
- Hibernate主键生成策略及选择
1 .increment:适用于short,int,long作为主键,不是使用数据库自动增长机制 这是hibernate中提供的一种增长机制 在程序运行时,先进行查询:select max(id) f ...