Giorgio Zoppi wrote:
Supponente che abbia un oggetto X di cui non so niente. Voglio scoprire un metodo e la sua firma, si puoo fare?
Ni. La "firma" la puoi ottenere "a mano" maneggiando direttamente il chiamabile.
Ovvero... con i metodi mostrati trovi i metodi dell'oggetto. Questi metodi sono a loro volta oggetti. E come tali li puoi maneggiare (tutto e' un oggetto).
Oppure meglio ancora puoi utilizzare il modulo inspect per sapere il *numero* dei parametri (ed eventualmente cose tipo keyword parameters etc etc.)
Il problema *generico* di "scrivere un programma che dato un oggetto di cui non sa nulla lo sappia usare" non e' qualcosa che un linguaggio di programmazione possa risolvere. Perche' il programma non conosce la semantica dell'oggetto (e non capisce l'inglese delle docstring e mannaggia a lui se lo sapesse saremmo tutti disoccupati!).
Puoi entro certi limiti fare un sistema che faccia "qualcosa"; vedi il concetto di "pubblicare un servizio" + qualche informazione semantica sul servizio. Pero' e' un'infrastruttura (nemmeno troppo pesante) che puoi e devi aggiungere tu.
Comunque in generale se vuoi solo informazioni su un metodo tu "umano" dentro una REPL a botte di inspect cavi tutto il cavabile. Anche se, una lettura della docstring o del codice sono probabilmente piu' rapide ed istruttive.
-- . ..: -enrico- _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python