Python笔记05-条件判断和循环

之前接触的几种基本语句:print语句(Python 3.0中,print不再是语句,而是函数)、import语句、赋值语句。接下来了解[条件语句] 和 [循环语句] 以及:pass、del、exec语句。

【print和import的更多信息】

1.使用逗号输出—— 打印多个表达式。

2.从模块导入函数,可以使用:

① import module

② from module import function

③ from module import *

还可以在语句末尾增加一个as子句: import math as foobar ; foobar.sqrt(4); ===> 结果是 2.0

也可以为函数提供别名: from math import sqrt as foobar ; foobar(4); ===> 结果是 2.0

如果两个模块都有open函数,那么:

from module1 import open as open1;

from module2 import open as open2;

3.一次性给多个变量赋值:x,y,z = 1,2,3

也可以交换多个变量:

这就叫做:[序列解包]—— 将多个值的序列解开,然后放到变量的序列中。

应用到字典中:

4.链式赋值——将同一个值赋给多个变量: x = y =somefunction()

5.增量赋值:+=,-=,*=,/=, ...

6.Python中,用冒号(:) 标识语句块的开始,块中的每一个语句都是缩进的,当回退到和已经闭合的块一样的缩进量时,表示当前块结束。类似于PHP的{ ... }

【条件语句】

1. 下列值在布尔类型中都表示false: False None 0 “” () [] {} 。其他的则为true。

使用bool函数可以将其他类型转换为布尔:

2.if和else语句:

3. elif 子句 (else if 的缩写)

4.if嵌套:

【运算符】

1. 相等运算符: ==

2. x is y : 判断x和y是否是同一个对象,注意和 == 对比:

[总结] 使用==判定两个对象是否相等,使用is判定两个对象是否等同(是否是同一个对象)。

3. in 成员资格运算符:

4. 且/或/非: and / or / not .

5.三元运算符: a if b else c :如果b为真则返回a,否则返回c。

【while循环】

1.判断用户是否输入了名字:

[说明] 如果输入了空格,也会过关。那么应该这样: while not name or name.isspace()

【for循环】

—— 如果能使用for循环,则尽量不要使用while循环。

◆ range的使用(类似于分片):

【循环遍历字典元素】

【一些迭代工具】

(1)并行迭代——程序可以同时迭代两个序列。

◆ 内建的zip函数可以把两个序列“压缩”在一起,然后返回一个元组的列表。

◆ zip函数可以用于任意多的序列:

(2)编号迭代——有时候想要迭代序列中的对象,同时还要获取当前对象的索引。

可以使用内建的 enumerate 函数:

(3)翻转和排序迭代——reversed 和 sorted 函数:不原地修改对象,而是返回翻转或排序后的版本。

【跳出循环】 —— break 和 continue

【列表推导式——轻量级循环】

利用其他列表创建新列表,类似于for循环。下面例子由 range(10) 中每个x的平方组成。

打印出能被3整除的平方数:

也可以增加更多for语句的部分:

【另外三个语句:pass、 del、 exec 】

(1)Python中空代码块是非法的,所以需要在语句块中加上pass:

(2)del语句:移除对象。

(3)exec:执行一个字符串。

(4)eval:用于“求值”—— 会计算Python表达式并且返回结果值。

【小结】

 

【代码】https://github.com/rxbook/study-python/tree/master/05

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章