Мне интересно, сколько людей на передней панели делают в 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, где то, что передавалось, может быть конвертировано в int (например, float), но при этом вы можете потерять точность?