Effective Python 讀書筆記: 第21條: 用只能以關鍵字形式指定的參數來確保代碼明晰

# -*- 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() 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章