dir(re.compile(pattern))
non restituisce pattern come uno degli elementi delle liste. Vale a dire che ritorna:
['__copy__', '__deepcopy__', 'findall', 'finditer', 'match', 'scanner', 'search', 'split', 'sub', 'subn']
Secondo il manuale, dovrebbe contenere
i nomi degli attributi dell'oggetto, i nomi degli attributi della sua classe e ricorsivamente gli attributi delle classi base della sua classe.
Lo dice anche quello
L'elenco non è necessariamente completo.
C'è un modo per ottenere l' elenco completo ? Ho sempre pensato che dir restituisse un elenco completo ma a quanto pare non ...
Inoltre: esiste un modo per elencare solo gli attributi? O solo metodi?
Modifica: questo è in realtà un bug in Python -> presumibilmente è stato risolto nel ramo 3.0 (e forse anche in 2.6)
__dir__()
dir()o il modulo inspect è generalmente il modo giusto per farlo. Hai usato ilremodulo solo come esempio o vuoi raggiungere un obiettivo speciale?