文章目录
- 异常处理
- 逻辑运算符
- 循环的高级用法
异常处理
1 基本用法
应对所有情况try: 1/0 except: print('某原因异常')
应对特定异常情况
try: 1/0 except ZeroDivisionError: print('除数不应为0') try: 1/0 except ZeroDivisionError as q: print(q)
混合使用
def foo(a): try : 100/a except ZeroDivisionError : print('除数不应为零') except : print('未知错误') foo(0) foo('ry1') 除数不应为零 未知错误
2高级用法
try : print(1/a) except: print('except') else: print('else') finally: print('finally')
注:
except可有多组;
try中未有异常时,执行else;
finally一定执行try-except-else-finally遇到函数时
def f(a): try: print(1 / a) return 1/a except: print('except') return 'except' else : print('else') return 'else' finally: print('finally') return 'finally' print(f(0)) print(f(2)) except finally finally 0.5 finally finally
注:
无论return在哪,finally一定执行;
try中有return,else不执行;
finally中的return会覆盖之前所有的return逻辑运算符
and or not
and ⇔ \Leftrightarrow⇔ exp1 if not exp1 else exp2
or ⇔ \Leftrightarrow⇔ exp1 if exp1 else exp2
and 和 or不一定返回True 或 False,而是得到最后一个被计算的表达式,
但not一定得到True 或 False。
循环的高级用法for in: *** else: *** while : *** else: ***
else扩展:玄幻完成的奖励( 循环没有被break退出时执行)
for c in 'python': if c=='y': continue print(c,end=',') else: print('正常退出') p,t,h,o,n,正常退出
for c in 'python': if c=='y': break print(c,end=',') else: print('正常退出') p,
- 循环的高级用法