L'elaborazione automatica di docstrings per diventare proprietà del proprietario. In generale, tutte le fantastiche funzioni di introspezione di Python ne fanno un linguaggio davvero unico, dalla possibilità di usare help () alla possibilità di usare __doc__
come proprietà di prima classe di un oggetto. Ad esempio:
>>> class DocStringException(Exception):
... """Error message is the same as docstring"""
... def __str__(self):
... return repr(self.__doc__)
...
>>> class ExampleException(DocStringException):
... """An example happened"""
...
>>> raise ExampleException
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
__main__.ExampleException: 'An example happened'
Altre utili funzioni di introspezione:
- help / help () - aiuto con l'interprete / aiuto con un oggetto
- parole chiave - parole chiave python
- locals () - ottiene i nomi locali
- globals () - ottieni i nomi globali
- dir () - ottiene le proprietà e i metodi di un oggetto
-
il metodo .mro. , issubclass - Comprensione dell'ereditarietà
- id () - ottiene l'indirizzo di memoria di un oggetto