1.3 Terminologia generica per Python

Se si sta leggendo questo documento, probabilmente si avrà già un'idea piuttosto precisa di cosa sono i moduli, le estensioni e via discorrendo. Ciononostante, per avere la certezza che ciascuno parta da un punto di inizio comune, è a disposizione il seguente glossario dei più comuni termini Python:

modulo
l'unità di base di codice riusabile in Python: un blocco di codice importato da altro codice. In questo contesto ci interessano tre tipologie di moduli: moduli Python puri, moduli di estensione e package.

modulo in Python puro
un modulo scritto in Python e contenuto in un singolo file .py (e possibilmente associato con un file .pyc e/o .pyo). Alcune volte viene citato come ``modulo puro''.

modulo di estensione
un modulo scritto nel linguaggio di basso livello dell'implementazione Python: C/C++ per Python, Java per Jython. Tipicamente contenuto in un singolo file precompilato caricabile dinamicamente, per esempio un file oggetto condiviso (.so) per le estensioni Python in ambiente Unix, una DLL (indicata dal file con estensione .pyd) per le estensioni Python in Windows, o un file di classe Java per le estensioni Jython. (Da notare che correntemente, le Distutils gestiscono solo estensioni C/C++ per Python).

package
un modulo che contiene altri moduli: tipicamente è contenuto in una directory del filesystem e si distingue dalle altre directory dalla presenza di un file __init__.py.

root package
l'apice della gerarchia dei package. (Questo non è realmente un package, in quanto non possiede un file __init__.py, ma in qualche modo lo si doveva pure chiamare). La stragrande maggioranza della libreria standard è nel package principale, come ci sono tanti piccoli, autonomi, moduli di terze parti, che non dipendono da una più grande collezione di moduli. Diversamente dai package regolari, i moduli nel package principale possono essere suddivisi in tante directory: infatti, ogni directory elencata in sys.path aggiunge moduli al package principale.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.