Python中不盡如人意的斷言Assertion

Python Assert 為何不盡如人意

Python中的斷言用起來非常簡單,你可以在assert后面跟上任意判斷條件,如果斷言失敗則會(huì)拋出異常。

>>> assert 1 + 1 == 2 >>> assert isinstance('Hello', str) >>> assert isinstance('Hello', int)

Traceback (most recent call last):
  File "<input>", line 1, in <module> AssertionError

其實(shí)assert看上去不錯(cuò),然而用起來并不爽。就比如有人告訴你程序錯(cuò)了,但是不告訴哪里錯(cuò)了。很多時(shí)候這樣的assert還不如不寫,寫了我就想罵娘。直接拋一個(gè)異常來得更痛快一些。

改進(jìn)方案 #1

一個(gè)稍微改進(jìn)一丟丟的方案就是把必要的信息也放到assert語句后面,比