chapter 8

1.if语句后只能有一个else语句,但是却可以用多个elif(else-if)语句。

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

语法为:X if C else Y,例如

python求解约束问题cvxpy库_迭代器

3.while:while中的代码块会一直循环执行,直到循环条件不再为真

语法:while expression:

      suite to repeat

4.for语句:会访问一个可迭代对象中的所有元素,并在所有条目都处理过后结束循环

迭代序列有三种使用方法:

1>通过序列项迭代:

python求解约束问题cvxpy库_python_02

2>通过序列索引迭代:

python求解约束问题cvxpy库_for循环_03

3>使用项和索引迭代:

python求解约束问题cvxpy库_python_04

5.迭代器对象有一个next()方法,调用后返回下一个条目,所有条目迭代完后,迭代器引发一个StopIteration异常告诉程序循环结束。for语句在内部调用next()并捕获异常。

6.range()完整语法:range(start,end,step=1)

如果只给定两个参数,而省略step,step就使用默认值1;

如果只给定一个值,range(end):则start默认为0,step默认为1

7.xrange:类似range(),不过用于表示很大范围的列表,他不会在内存里创建列表的完整拷贝,他只被用在for循环中,在for循环外塔没有意义。

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

 9.continue:终止当前循环,并忽略剩余的语句,然后回到循环的顶端。

10.pass:它不做任何事情,即NOP,无操作,类似于其他语言中的空大括号或者分号

11.迭代器:迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。

从根本上说,迭代器就是一个有next()方法的对象,而不是通过索引来计数,当一个循环机制需要下一个项时,调用迭代器的next()方法可以获得它,条目全部取出后,会引发一个StopIteration异常,这并不是表示错误发生,只是告诉外部调用者,迭代完成。

迭代器只能向后移动,不能回到开始。

12.使用迭代器

python求解约束问题cvxpy库_for循环_05