如果一个复合语句(if子句,while或for循环)的代码仅仅包含一行代码,可以和前面的语句写在同一行上:

 

elif语句(else-if)

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

X if C else Y

计数循环:

count=0
while(count<**):
     count +=1

 

无限循环:

while True

range()内建函数的完整语法:

range(start, end, step=1)

range()会返回一个包含所有k的列表,这里start<=k<end ,从start到end,k

每次递增step,step不可以为0,否则将报错

xrange()类似range(),不过更使用于很大的范围,只被用在for循环中,在for循环外没有意义

zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表

break语句:用于结束当前循环然后跳转到下条语句

continue语句:

python条件不满足重新执行上一条语句 python 或者条件_迭代器

pass语句:它不做任何事情--即NOP

 

python条件不满足重新执行上一条语句 python 或者条件_迭代_02


 

迭代器:迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,知道所有的元素被访问完结束。迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退。

迭代器的两个基本方法:

next()方法:返回迭代器的下一个元素

__iter__()方法:返回迭代器对象本身

可变对象和迭代器:

除列表外的其他序列都是不可变的

创建迭代器:

对一个对象调用iter()就可以得到它的迭代器

 

生成器:是特定的函数,允许返回一个值,“暂停”代码的执行,带有 yield 的函数在 Python 中被称之为 generator(生成器)

 

yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator,调用 fab(5) 不会执行 fab 函数,而是返回一个 iterable 对象!在 for 循环执行时,每次循环都会执行 fab 函数内部的代码,执行到 yield b 时,fab 函数就返回一个迭代值,下次迭代时,代码从 yield b 的下一条语句继续执行,而函数的本地变量看起来和上次中断执行前是完全一样的,于是函数继续执行,直到再次遇到 yield。看起来就好像一个函数在正常执行的过程中被 yield 中断了数次,每次中断都会通过 yield 返回当前的迭代值。