我對在他們編寫的Python中進行多少前期驗證感興趣。我應該在我的python函數/方法上做多少輸入驗證?
下面是簡單的功能的幾個例子:
def factorial(num):
"""Computes the factorial of num."""
def isPalindrome(inputStr):
"""Tests to see if inputStr is the same backwards and forwards."""
def sum(nums):
"""Same as the built-in sum()... computes the sum of all the numbers passed in."""
如何徹底你開始計算前檢查輸入值,你怎麼做你檢查?如果輸入錯誤(例如,在同一模塊中定義BadInputException),你會拋出某種專有的異常嗎?你剛開始你的計算,並且如果壞數據被傳入(例如,「asd」爲factorial),它會在某個時候拋出一個異常?
當傳入的值應該是一個容器,你不僅檢查容器,但它的內部的所有值?
像factorial這樣的情況,傳入的內容可能會轉換爲int(例如float),但是如果這樣做可能會失去精度?
我不想打印任何東西。無論是單獨拋出異常還是提出其他的東西。印刷會令人困惑。 – 2008-12-15 11:27:47