『Effective Python』の続き。第二章突入。 www.effectivepython.com
第二章は函数の扱い方。返り値にNone
というのはやったことがないが、結構使われているのだろうか。
何が問題なのかは次のコードで一発だと思う。
def divide(a, b): try: return a / b except ZeroDivisionError: return None x, y = 1, 0 result = divide(x, y) if result is None: print('Invalid inputs') else: print('Result is %.1f' % result) x, y = 0, 5 result = divide(x, y) if not result: print('Invalid inputs') else: print('Result is %.1f' % result)
この問題点の対策として例外送出を紹介している。
次の項目はちょっと長いから時間が掛かりそう…。