# -*- encoding: utf-8 -*-
from datetime import datetime
import os
'''
第21条: 用只能以关键字形式指定的参数来确保代码明晰
关键:
1 关于位置参数
参数列表中的*号,表示位置参数结束了,之后参数都值能以关键字形式指定
2 *参数
含义: 接收数量可变的位置参数
3 **参数
含义: 接收任意数量的关键字参数
参考:
Effectiv Python 编写高质量Python代码的59个有效方法
'''
def safeDivision(
number, divisor,
ignoreOverflow=False,
ignoreZeroDivision=False):
try:
return number / divisor
except OverflowError:
if ignoreOverflow:
return 0
raise
except ZeroDivisionError:
if ignoreZeroDivision:
return float('inf')
raise
def process():
result = safeDivision(
1, 0, ignoreOverflow=True, ignoreZeroDivision=True)
print result
if __name__ == "__main__":
process()