You are here: Partenza > Dive Into Python > Conoscere Python > Testare i moduli | << >> | ||||
Dive Into PythonPython per programmatori esperti |
I moduli in Python sono oggetti ed hanno diversi attributi utili. Potete usarli per testare i moduli dopo che li avete scritti.
Qualche osservazione veloce prima di arrivare al succo del discorso. Prima di tutto le parentesi non sono richieste attorno all'espressione if. Secondo, lo statement if termina con i due punti ed è seguito da codice indentato.
Come il C, Python usa == per i confronti e = per gli assegnamenti. Al contrario del C, Python non supporta gli assegnamenti in una singola riga, così non c'è modo di assegnare per errore il valore che pensavate di comparare. |
Così perché questo if particolare è un trucco? I moduli sono oggetti e tutti i moduli hanno un attributo built-in __name__. Il __name__ di un modulo dipende da come state usando il modulo. Se importate il modulo, allora __name__ è il nome del file del modulo, senza il percorso completo o l'estensione. Ma potete anche eseguire il modulo direttamente come un programma indipendente, in questo caso __name__ avrà un valore default speciale, __main__.
>>> import odbchelper >>> odbchelper.__name__ 'odbchelper'
Sapendo ciò, potete creare una serie di test per il vostro modulo nel modulo stesso, mettendolo nello statement if. Quando eseguite il modulo direttamente, __name__ è __main__, così i test vengono eseguiti. Quando il modulo è importato, __name__ è qualcos'altro, così i test sono ignorati. Questo rende più semplice sviluppare ed eseguire il debug di nuovi moduli prima di integrarli in un programma di dimensioni maggiori.
In MacPython c'è un passaggio ulteriore per far funzionare il trucco if __name__. Fate apparire le opzioni del modulo cliccando sul triangolo nero, nell'angolo in altro a destra della finestra e assicuratevi che “” sia selezionato. |
<< Indentare il codice |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
Introduzione ai dizionari >> |