目录
一、条件语句
1、if 语句
python语句中 if
语句的一般格式是:
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
(1)python中用 elif
代替 if else
(2)用法与c++基本相同,但要严格控制缩进
2、assert 关键字
assert
关键字被称为断言,当其后边的条件为 False
时,程序自动崩溃并抛出 AssertionError
的异常,这与c++中assert()
宏的作用基本相同。在使用assert
关键字时,需要注意:
(1)使用断言捕捉不应该发生的非法情况。不要混淆非法情况与错误情况之间的区别,后者是必然存在的并且是一定要作出处理的。
(2)使用断言对函数的参数进行确认。
(3)在编写函数时,要进行反复的考查,并且自问:“我打算做哪些假定?”一旦确定了的假定,就要使用断言对假定进行检查。
(4)一般教科书都鼓励程序员们进行防错性的程序设计,但要记住这种编程风格会隐瞒错误。当进行防错性编程时,如果“不可能发生”的事情的确发生了,则要使用断言进行报警。
(5)每个assert
只检验一个条件,因为同时检验多个条件时,如果断言失败,无法直观的判断是哪个条件失败,在操作时应该把各种条件分开来写。
(6)assert
和后面的语句应空一行,以形成逻辑和视觉上的一致。
二、循环语句
1、while 循环
while
循环的一般格式:
while 判断条件(condition):
执行语句(statements)
在python中没有 do - while
循环
与else
组合:
while <expr>:
<statement(s)>
else: #条件语句为 False 时执行 else 的语句块
<additional_statement(s)>
2、for 循环
for
循环的一般格式:
for <variable> in <sequence>:
<statements>
else: #与 while 语句中的 else 用法相同
<statements>
3、range() 函数
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:
for i in range(5):
print(i, end = ' ')
#0 1 2 3 4
range()
函数的格式为:
range([start,] stop[, step=1])
step=1
表示第三个参数的默认值是1。
range
的作用是生成一个从start
参数的值开始到stop
参数的值结束的数字序列,该序列包含start
的值但不包含stop
的值(左闭右开)。
4、enumerate() 函数
enumerate()
函数的一般格式为:
enumerate(sequence, [start=0]) #返回 enumerate(枚举) 对象
例子:
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
lst = list(enumerate(seasons))
print(lst)
# [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
lst = list(enumerate(seasons, start=1)) # 下标从 1 开始
print(lst)
# [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
5、break、continue、pass 语句
break
语句可以跳出 for
和 while
的循环体。如果你从 for
或 while
循环中终止,任何对应的循环 else
块将不执行。
continue
语句被用来告诉 python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
pass
是空语句,不做任何操作,只起到占位的作用,其作用是为了保持程序结构的完整性。在c++中用一个分号(;
)表示空语句。
6、推导式
列表推导式的一般格式为:
[ expr for value in collection [if condition] ]
例子:
x = [i ** 2 for i in range(1, 10)]
print(x)
# [1, 4, 9, 16, 25, 36, 49, 64, 81]
x = [i for i in range(100) if (i % 2) != 0 and (i % 3) == 0]
print(x)
# [3, 9, 15, 21, 27, 33, 39, 45, 51, 57, 63, 69, 75, 81, 87, 93, 99]
元组推导式的一般格式为:
( expr for value in collection [if condition] )
例子:
a = (x for x in range(10))
print(a)
# <generator object <genexpr> at 0x0000025BE511CC48>
print(tuple(a))
# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
字典推导式的一般格式为:
{
key_expr: value_expr for value in collection [if condition] }
例子:
b = {
i: i % 2 == 0 for i in range(10) if i % 3 == 0}
print(b)
# {0: True, 3: False, 6: True, 9: False}
集合推导式的一般格式为:
{
expr for value in collection [if condition] }
例子:
c = {
i for i in [1, 2, 3, 4, 5, 5, 6, 4, 3, 2, 1]}
print(c)
# {1, 2, 3, 4, 5, 6}
参考网站:
https://www.runoob.com/python3/python3-loop.html
https://www.cnblogs.com/thisway/p/5558914.html