Подтвердить что ты не робот

Где можно найти методы и атрибуты встроенных классов python?

Я пытаюсь выяснить, какие методы и атрибуты приходят с матерью всех классов исключений в python: класс Exception. Тем не менее, у меня немного неприятностей, поскольку официальная документация, похоже, не обеспечивает ее.

Лучшее, что я мог найти, это: http://docs.python.org/library/exceptions.html, но в нем перечислены только встроенные исключения.

Что происходит? Я привык к документам Java и PHP, где все заложено в таблице: (

4b9b3361

Ответ 1

Встроенная функция dir предоставит список имен, содержащих методы и атрибуты объекта.

>>>print dir(Exception)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribut
e__', '__getitem__', '__getslice__', '__hash__', '__init__', '__new__', '__reduc
e__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__',
'__str__', '__subclasshook__', '__unicode__', 'args', 'message']

Вы также можете получить справку, используя метод help: help(Exception).

Ответ 2

В BaseException есть только один интересный атрибут, а args. Это задокументировано, поэтому проблем нет.

На BaseException нет методов, кроме специальных (__) методов, которые вы не должны вызывать напрямую. Из них __str__ документируется предложением

Если в экземпляре этого класса вызывается str() или unicode(), возвращается представление аргумента (ов) экземпляру или пустая строка, когда аргументов не было.

[Существует еще один открытый атрибут message, но если вы получите доступ к нему, вы получите DeprecationWarning. Устаревшие атрибуты не всегда документируются, поскольку вы не должны использовать их в новом коде.]