python中的 else 关键字
2017-06-25
else
Python 中, 我们经常遇到else
关键字,
如果是在if
判断中, else
比较容易理解,
但是在异常捕获里, else
也会被用到, 这就难理解了
异常捕获
python 中的异常捕获, 如下
try:
x = 1/0
except ZeroDivisionError as e:
print('value exception')
打印value exception
触发了ZeroDivisionError
异常
else
关键字如何应用进去呢, 如下
try:
x = 1/0
except ZeroDivisionError as e:
print('value exception')
else:
print('else stuff')
输出
value exception
没有触发 else
, 如果没有异常呢
try:
x = 1/1
print('try ...')
except ZeroDivisionError as e:
print('value exception')
else:
print('else stuff')
输出
try ...
else stuff
触发了else
异常捕获中的else
是在没有异常的时候触发的
函数中的try-except-else
def test():
try:
x = 1/1
print('try...')
return 'try...'
except ZeroDivisionError as e:
print('value exception')
else:
print('else stuff')
return 'else stuff'
print(test())
我们可以得到
try...
try...
第一个try...
是在x = 1/1
下的print 输出的, 第二个try...
是test()
函数返回后最后一行输出的,
注意, 这里虽然没有异常, 但并没有触发else
所以, 如果在try
中出现了出现了return
的语句, else
就不会被触发