Python Glossary English

все Python 3Исключенияисключение

AttributeError

встроенные исключения

Вызывается при обращении к несуществующему атрибуту или методу объекта.

Синтаксис

raise AttributeError('сообщение')

Большая часть студенческих AttributeError — это на самом деле None: методы, меняющие объект на месте (list.sort(), list.append(), random.shuffle()), возвращают None, и после строки lst = lst.sort() следующее же обращение падает с «'NoneType' object has no attribute ...». Сообщение стоит дочитывать до конца: в нём назван и тип объекта, и имя атрибута, а начиная с 3.10 интерпретатор ещё и подсказывает похожее имя, если это была опечатка.

Примеры

x = 42
x.upper()            # AttributeError: 'int' has no 'upper'
class A: pass
A().run()            # AttributeError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности