You are here: Partenza > Dive Into Python > Conoscere Python > Tutto è un oggetto | << >> | ||||
Dive Into PythonPython per programmatori esperti |
Nel caso non ve ne foste accorti, ho appena detto che le funzioni in Python hanno attributi e che questi attributi sono disponibili a runtime.
Una funzione, come ogni altra cosa in Python, è un oggetto.
>>> import odbchelper >>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"} >>> print odbchelper.buildConnectionString(params) server=mpilgrim;uid=sa;database=master;pwd=secret >>> print odbchelper.buildConnectionString.__doc__ Build a connection string from a dictionary Returns string.
import in Python è come require in Perl. Una volta che avete importato un modulo Python, accedete alle sue funzioni con module.function; una volta che avete richiesto un modulo Perl, accedete alle sue funzioni con modulo::funzione. |
Prima di continuare, voglio brevemente fare riferimento al percorso di ricerca delle librerie. Python cerca in diversi luoghi quando tentate di importare un modulo. In particolare, cerca in tutte le directory definite in sys.path. Questa è semplicemente una lista e potete facilmente vederla o modificarla con i normali metodi delle liste (impareremo di più sulle liste più avanti in questo capitolo).
>>> import sys >>> sys.path ['', '/usr/local/lib/python2.2', '/usr/local/lib/python2.2/plat-linux2', '/usr/local/lib/python2.2/lib-dynload', '/usr/local/lib/python2.2/site-packages', '/usr/local/lib/python2.2/site-packages/PIL', '/usr/local/lib/python2.2/site-packages/piddle'] >>> sys <module 'sys' (built-in)> >>> sys.path.append('/my/new/path')
Tutto in Python è un oggetto e quasi tutto ha attributi e metodi. [1] Tutte le funzioni hanno l'attributo built-in __doc__, che ritorna la docstring definita nel codice sorgente della funzione. Il modulo sys è un oggetto che ha (fra le altre cose) un attributo chiamato path ... e così via.
Questo fatto è così importante che sto per ripetertelo, nel caso non lo avessi ancora colto: tutto in Python è un oggetto. Le stringhe sono oggetti. Le liste sono oggetti. Le funzioni sono oggetti. Persino i moduli sono oggetti.
[1] Diversi linguaggi di programmazione definiscono gli “oggetti” in modi diversi. In alcuni, significa che tutti gli oggetti devono avere attributi e metodi; in altri, significa che da tutti gli oggetti sono derivabili altre classi. In Python, la definizione è meno ristretta; alcuni oggetti non hanno né attributi né metodi (ne parleremo più avanti in questo capitolo), e non non sono derivabili classi da tutti gli oggetti (altre informazioni su quest'argomento nel capitolo 3). Ma ogni cosa è un oggetto, nel senso che può essere assegnato ad una variabile o passato come argomento ad una funzione (più dettagli nel capitolo 2).
<< Documentare le funzioni |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
Indentare il codice >> |