语句¶
判断语句¶
- if
if condition:
expression
[elif] condition:
expression
[else]:
expression
Python中没有switch...case...
语句,但可以用字典来实现
https://www.liujiangblog.com/blog/2/
def switch(key):
case = {
1: "1",
2: "2",
3: "3"
}
v = case.get(key, "0")
return v
switch(1) # "1"
switch(8) # "0"
if x > y:
res = x
else:
res = y
# 不换行
if x > y: res = x
else: res = y
# 三元表达式
res = x if x > y else y
res = 1 if 0 else 2 if False else 3 # 3
循环语句¶
循环过程中如果改变了对象长度,则可能会影响循环次数,比如循环一个长度为2列表:for i in _list
,第一次循环中移除了一个元素,此时列表长度变为1,则不会进入下一次循环
这时候可以这样去循环:for i in list(_list)
- for
常用于循环次数限定的时候
嵌套循环,外层主要用于循环次数,内层用于遍历
for item in iterable:
expression
# 正常结束循环时,else子句执行
[else]:
expression
- while
常用于循环次数限定的时候
while condition:
expression
# 正常结束循环时,else子句执行
[else]:
expression
控制语句¶
- continue
结束当前这次循环,继续执行下一次循环
- break
结束当前整个循环,但只能结束当前层循环
如果想结束所有循环(类似c语言中的goto语句),可以在最外层设置一个flag,让内部控制
- pass
用于占位
# 设置一个flag,默认为False
flag = False
for i in range(10):
# 跳出外部循环
if flag:
break
for j in range(10):
if j==7:
flag = True
# 跳出内部循环
break
print(i,j)
异常处理语句¶
try:
pass # 可能会出错的地方
except Xxx1Error as e1:
print(e1)
except Xxx2Error as e2:
print(e2)
except (Xxx3Error,Xxx4Error) as es:
print("可以同时捕获多个异常")
except Exception as e:
print('通用异常,可匹配任意异常')
except:
print("如果不写异常名称,将匹配所有异常")
else:
print("如果没有异常则执行")
finally:
print("不管有没有异常最后都会执行")
raise 抛出异常¶
assert 断言¶
assert n != 0, "n is zero" # n如果等于0则抛出次错误提示
assert A and B and C # 会从做到有断言,只要断言失败,就不会再继续向右继续断言
# 但是更建议分开写
最后更新:
2022-06-21