Python中不盡如人意的斷言Assertion
Python Assert 為何不盡如人意
Python中的斷言用起來非常簡單,你可以在assert后面跟上任意判斷條件,如果斷言失敗則會拋出異常。
>>> assert 1 + 1 == 2 >>> assert isinstance('Hello', str) >>> assert isinstance('Hello', int)
Traceback (most recent call last):
File "<input>", line 1, in <module> AssertionError
其實assert看上去不錯,然而用起來并不爽。就比如有人告訴你程序錯了,但是不告訴哪里錯了。很多時候這樣的assert還不如不寫,寫了我就想罵娘。直接拋一個異常來得更痛快一些。
改進方案 #1
一個稍微改進一丟丟的方案就是把必要的信息也放到assert語句后面,比