142 Глава 8 • Функции
Python понимает, что при вызове функции часть информации отсутствует, и мы
видим это в данных трассировки:
Traceback (most recent call last):
File "pets.py", line 6, in
describe_pet()
TypeError: describe_pet() missing 2 required positional arguments:
'animal_
type' and 'pet_name'
В точке сообщается местонахождение проблемы, чтобы вы поняли, что с вызовом
функции что-то пошло не так. В точке приводится вызов функции, приведший
к ошибке. В точке Python сообщает, что при вызове пропущены два аргумента,
и сообщает имена этих аргументов. Если бы функция размещалась в отдельном
файле, вероятно, вы смогли бы исправить вызов, и вам не пришлось бы открывать
этот файл и читать код функции.
Python помогает еще и тем, что он читает код функции и сообщает имена аргумен-
тов, которые необходимо передать при вызове. Это еще одна причина для того,
чтобы присваивать переменным и функциям содержательные имена. В этом случае
сообщения об ошибках Python принесут больше пользы как вам, так и любому
другому разработчику, который будет использовать ваш код.
Если при вызове будут переданы лишние аргументы, вы получите похожую
трассировку, которая поможет привести вызов функции в соответствие с ее
определением.
Достарыңызбен бөлісу: