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.
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a