[Python] Ottenere il codice di una funzione o metodo.
Gabriele Battaglia
iz4apu a libero.it
Mar 29 Lug 2014 11:03:09 CEST
Buongiorno.
Esiste la possibilità di interrogare l'interprete facendosi restituire il
codice di una funzione o del metodo di una classe?
Ad esempio:
def foo(x):
'''Compie operazioni senza senso'''
y = x ** 3 + x ** 2
return y
Quindi posso interrogare la docstring e leggo il commento iniziale della
funzione, ma se volessi vederne il codice:
y = x ** 3 + x ** 2
return y
Come faccio?
Ho cercato in rete ed ho trovato un suggerimento:
inspect.getsource(foo) e inspect.getsourcelines(foo) ma entrambe mi
restituiscono un traceback di errori che, se serve, posso cercare di incollare
in una futura mail.
Faccio un passo ulteriore: posso vedere il codice delle funzioni built-in?
Se ad esempio scrivo:
f = 8.12345
Potrei ottenere il codice di f.__str__ e, poi, potrei sovrascriverlo con un
codice modificato in maniera che tutti i tipi float mi restituiscano ad
esempio, soltanto 2 cifre decimali?
Gli esempi qui sopra non servono a nulla, se non a scopo di studio, non hanno
altra funzione se non quella di aiutarmi a meglio comprendere i meccanismi del
linguaggio.
Grazie per i suggerimenti.
GB.
Maggiori informazioni sulla lista
Python