一、思维导图
二、内容
2.1 条件语句
2.1.1 if 语句
条件语句就是用于条件判断的语句,当条件符合时,将会执行相应的代码,如果条件为假,则跳过相应的代码块,具体的形式如下:
if expresion:
expr_true_suite
elif expresion:
expr_true_suite
else:
expr_true_suite
上面的形式是 if 语句较为复杂的版本,最简单的使用 if 语句就是这样的:
if 1<2 and 2<3:
print('It is right!') #It is right!
注:记得条件后要加 “:”
在上面的代码中,如果 if 后面的条件是假,那么下面的print( )语句将不会被执行,也就是说我们什么都得不到。
若我们想要让条件为假的时候,程序会输出“Oh! It is false!”,此时就需要添加 else:
if 1<2 and 2>3:
print('It is right!')
else:
print('Oh! It is false!') # Oh! It is false!
但若我们需要判断多个表达式是否为真呢?此时就需要添加 elif,添加elif的数量是不限的,看情况加就行:
answer = input('''
如果你有16万你会干什么?
请选择:
A.买买买 B.什么也做不了
》 ''')
if answer.lower == 'a':
print('All right~')
elif answer.lower == 'b':
print('Wooo~')
else:
print('请输入A 或 B,大小写不限~')
2.1.2 Assert 关键词
assert 关键词可以用来在程序中置入检查点,以判断后面跟着的语句是否为真。只有True,才能继续正常工作,否则会报错。
assert 1>2 # AssertionError
2.2 循环语句
2.2.1 while 循环
while语句是一个较为简单的循环语句。while 后跟的判断条件只能是布尔表达式。当表达式为真时,while 下的语块才会被执行,直到布尔表达式为假,才会跳出循环,执行接下来的代码。
# 形式
while 布尔表达式: # 此处的布尔表达式可为True,代码会被直接执行
代码块
else:
代码块 # 当跳出循环后,else才会被执行。但else并非必须的。
#例子
item = 0
while i in range(3):
item += i
print(f'Result is {item}.') # Result is 3.
2.2.2 for 循环
for 语句是一个迭代循环语句。每次循环,迭代变量被设置为可迭代对象的当前元素,提供给代码块使用。
# 形式
for 迭代变量 in 可迭代对象:
代码块
else:
代码块 # 当跳出循环后,else才会被执行。但else并非必须的。
# 例子
for i in range(5):
if i // 2 == 0:
print(f'{i} 是偶数')
else:
print(f'{i} 是奇数')
# 0 是偶数
# 1 是奇数
# 2 是偶数
# 3 是奇数
# 4 是偶数
2.2.3 range( )函数
# 格式
range([start,] stop[, step=1])
特点:
1.range( )函数共三个参数,start 参数代表的是数字选取起始的值,stop 参数代表的是数字选取终止的值,step 参数代表的是每次选取与下次选取的数字间隔。
2.range( )函数选取的数字范围包括起始数,但不包括终止数,如例子所示
print(range(1,4))
# 1
# 2
# 3
3.start 参数和step 参数是可以省略的,且step 参数默认为1。
2.2.4 enumerate( )函数
对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate( )函数将其组成一个索引序列,利用enumerate( )函数可以同时获得索引和值。该函数可以和for 循环一起使用。
# 形式
enumerate(sequence,[start = 0])
# 例子
a = ['This', 'is', 'the', 'example']
lis = list(enumerate(a))
print(lis) # [(0,'This'), (1,'is'), (2,'the') ,(3,'example')]
b = ['This', 'is', 'the', 'example']
for index, item in enumerate(b, 1):
print index, item
# 1 This
# 2 is
# 3 the
# 4 example
注:start 参数可以省略,默认为 0。
2.2.5 continue 和 break
适用于循环语句中的语句。
1.continue 语句是停止当前循环,重新开始新的循环。
2.break 语句是停止并跳出当前所在层的循环。
3.补充:pass 语句是空语句,不做任何操作,只起到占位的作用,其作用是为了保持程序结构的完整性。由于在Python中,若在需要有语句的地方没添加,那程序就会报错。为解决该问题就有了 pass 语句。
2.2.6 推导式
推导式是可以从一个数据序列构建另一个新的数据序列的结构体。共有三种:列表推导式、元祖推导式和字典推导式。
# 形式
(expression for value in collection [if condition]) # 元组推导式
[expression for value in collection [if condition]] # 列表推导式
{expression for value in collection [if condition]} # 字典推导式