Accademia:Log 2011 03 23: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
(tolgo log sbagliato) |
(incollo log) |
||
Riga 1: | Riga 1: | ||
<pre></pre> | <pre> | ||
[21:36:55] <Ernestus> ciao a tutti | |||
[21:43:42] --> JumX (~Mibbit@Azzurra=906E72D.250-95-r.retail.telecomitalia.it) has joined #debianizzati-corsi | |||
[21:43:59] <JumX> Sera, scusate il ritardo | |||
[21:48:09] <Ernestus> sera JumX | |||
[21:48:23] --> spirit (~spirit@Azzurra-C3C291C.104-82-b.business.telecomitalia.it) has joined #debianizzati-corsi | |||
[21:48:51] <JumX> Ciao spirit | |||
[21:48:57] <JumX> ciao Ernestus | |||
[21:49:07] <Ernestus> ciao spirit | |||
[21:49:18] <JumX> credevo fossi in ritardo ma a quanto pare no :) | |||
[21:49:44] <spirit> Salve | |||
[21:50:14] <spirit> avete già iniziato? | |||
[21:50:36] <JumX> no anch'io sono arrivato da poco | |||
[21:50:43] <spirit> ah | |||
[21:50:58] <spirit> studiato il cap 8? | |||
[21:51:55] <Ernestus> si | |||
[21:52:42] <Ernestus> le domande dopo? | |||
[21:52:54] <JumX> si ma io ho un dubbio su : if __name__ == '__main__' ho letto il log ma non sono sicuro di aver capito | |||
[21:53:36] <spirit> abbiamo usato idle.. | |||
[21:53:58] <spirit> poi Stemby ha usato questa varianza | |||
[21:54:18] <JumX> quale idle | |||
[21:54:32] <spirit> per far capire se name è vero.. | |||
[21:54:58] <spirit> aptitude install idle | |||
[21:55:28] <JumX> ? ma si usa solo quando si vuole importare un modulo ma non si vuol farlo eseguire . Giusto? | |||
[21:56:28] <spirit> esatto | |||
[21:56:39] <JumX> Sto installando l'idle | |||
[21:57:09] <spirit> è un trucco come dice Stemby.. | |||
[21:57:43] <JumX> ma fa riferimento a Python 2.6.6 | |||
[21:58:06] <spirit> no, il nostro py3 | |||
[21:58:31] <JumX> si loso ma ho eseguito aptitude e mi ha installato IDLE 2.6.6 | |||
[21:59:13] <spirit> no è idle3 | |||
[21:59:24] <JumX> e ora come faccio ? | |||
[21:59:37] <spirit> cambia i repo se hai debian | |||
[21:59:39] <JumX> spirit ho eseguito il tuo comando. | |||
[21:59:42] <spirit> metti sid | |||
[22:00:26] <JumX> ho Mint debian Edition (ancora per poco , è bella ma ad ogni aggiornamento c'è qualcosa che non va) | |||
[22:00:38] <spirit> ah..non sapevo | |||
[22:00:57] <spirit> c'è anche una versione di sviluppo? | |||
[22:01:02] <JumX> come disinstallo ? | |||
[22:01:15] <spirit> aptitude purge idle | |||
[22:02:03] <JumX> tornando a noi provo nel gestore pacchetti ? | |||
[22:02:29] <spirit> esatto cerca | |||
[22:02:32] <JumX> Chiedo venia ... sid = Debian squeeze ? | |||
[22:02:38] <spirit> no.. | |||
[22:02:45] <JumX> ? | |||
[22:02:51] <spirit> sid = unstable | |||
[22:02:52] --> amosse (~Mibbit@95.238.Azzurra-4C06A439) has joined #debianizzati-corsi | |||
[22:03:06] <amosse> Ciao a tutti | |||
[22:03:11] <spirit> o meglio debian unstable | |||
[22:03:18] <JumX> E che faccio lascio mint DE che trovo instabile e poi installo una instabile di natura ? | |||
[22:03:30] <JumX> ciao amosse | |||
[22:03:39] <spirit> ciao | |||
[22:04:03] <JumX> intanto ho trovato idle per python 3 | |||
[22:04:31] <spirit> dato che hai mint vai sulla versione di sviluppo.No? Lo puoi fare? | |||
[22:04:40] <JumX> ok fatto, devo configurare qualcosa ho va bvene così com'è? | |||
[22:05:27] <spirit> no, va bene cosi. | |||
[22:06:32] <JumX> spirit sto imparando ... non sono così pratico. Per me un'installazione facile è ubuntu - mint debian ho provato una volta poi mi sono bloccato sulla scheda wireless e poi su quella video . Devo mettermici con calma. | |||
[22:07:19] --> risca (~risca@Azzurra=BC37FFD.clienti.tiscali.it) has joined #debianizzati-corsi | |||
[22:07:26] <risca> buona sera | |||
[22:07:34] <spirit> ok, anch'io talvolta impazzisco per i driver | |||
[22:07:41] <spirit> ciao risca | |||
[22:07:45] <risca> come procede? | |||
[22:07:49] <amosse> ciao risca | |||
[22:07:58] <risca> purtroppo non ho i log... | |||
[22:08:03] <risca> cosa state facendo? | |||
[22:08:09] <JumX> ciao risca, ho appena installato l'idle | |||
[22:08:13] <risca> wow | |||
[22:08:20] <Ernestus> ciao risca | |||
[22:08:21] <risca> io non l'ho ancora provato | |||
[22:08:29] <risca> com'è l'idle? | |||
[22:08:34] <spirit> parlavamo del cap7 di idle e dello script fatto con Stemby | |||
[22:08:44] <JumX> e lo so che per te è facile .... | |||
[22:08:51] <risca> lo script dov'è? | |||
[22:09:23] <spirit> vai su gobby si chiama... | |||
[22:09:59] <spirit> pippo.py e l'altro.. | |||
[22:10:11] <spirit> test_pippo.py | |||
[22:10:18] <risca> ok | |||
[22:10:27] <spirit> credo siano ancora lì.. | |||
[22:10:40] <risca> sì sì | |||
[22:10:46] <risca> li avevo anche caricati sul wiki | |||
[22:10:56] <risca> cosa c'è che non vi convince? | |||
[22:11:02] <Ernestus> a me si è impallato l'idle | |||
[22:11:35] <JumX> io non so proprio come funziona | |||
[22:12:02] <spirit> killall python3 | |||
[22:12:06] <risca> andiamo con ordine. | |||
[22:12:07] <spirit> e riparti | |||
[22:12:15] <risca> chi sta utilizzando l'idel e per cosa? | |||
[22:12:28] <amosse> io l' ho aperto | |||
[22:12:30] <Ernestus> io per il capitolo 7 che non ero riuscito a vedere per lo scorso incontro | |||
[22:12:48] <JumX> idem Ernestus | |||
[22:13:11] <risca> scusate la mia ignoranza in merito, ma qual è l'idle? | |||
[22:13:30] <spirit> idle3 | |||
[22:14:12] <risca> grazie, lo sto installando anche io | |||
[22:14:18] <risca> così lo provo ;-) | |||
[22:14:29] <risca> tornando allo script della scorsa volta | |||
[22:14:32] <JumX> bravo provalo e poi mi spieghi :) | |||
[22:14:42] <risca> cosa c'è che non vi torna? | |||
[22:15:21] <risca> (lo script su gobby) | |||
[22:16:07] <Ernestus> arrivo su gobby | |||
[22:16:32] <Ernestus> qual è il file? | |||
[22:16:35] <risca> test_pippo.py | |||
[22:17:03] <amosse> qual' é la differenza a mettere: if __name__ == '__mane__ ' oppure non metterlo? | |||
[22:17:41] <risca> qua avevo iniziato a scrivere qualcosa (http://guide.debianizzati.org/index.php/Accademia:Test_import) | |||
[22:17:52] <risca> seppure trattasi solo di una bozza | |||
[22:18:07] <risca> lì è presente la libreria in due versione | |||
[22:18:10] <risca> versioni* | |||
[22:18:31] <risca> notate la particolarità: nella prima versione, senza if, | |||
[22:18:58] <risca> sia se invocate il file, sia se lo importate vi viene stampato | |||
[22:19:07] <risca> 'pippo' | |||
[22:19:11] <risca> 'ciao' | |||
[22:19:18] <risca> ------------------ | |||
[22:19:30] <risca> nella seconda versione (grazie all'if) | |||
[22:19:47] <risca> viene stampato | |||
[22:19:49] <risca> 'pippo' | |||
[22:19:51] <risca> 'ciao' | |||
[22:20:01] <risca> solo se eseguite il file | |||
[22:20:16] <risca> Se invece importate il file (come in test_pippo.py) | |||
[22:20:25] <risca> allora non viene stampato nulla | |||
[22:20:28] <risca> =================== | |||
[22:20:34] <risca> Come mai? | |||
[22:20:39] <risca> Chi me lo ripete? | |||
[22:20:54] <spirit> la condizione è falsa? | |||
[22:21:26] <risca> sì | |||
[22:21:32] <risca> come mai è falsa pero? | |||
[22:21:36] <risca> però* | |||
[22:22:09] <risca> nessuno? | |||
[22:22:27] <JumX> if __name__ == '__main__' | |||
[22:22:37] <spirit> non verifica name con == | |||
[22:23:07] <risca> sì, ma come mai la condizione è falsa solo se importato come libreria e non direttamente eseguito? | |||
[22:23:39] <spirit> non è un uguaglianza, cioè.. | |||
[22:24:03] <risca> l'uguaglianza è scritta correttamente, cosa intendi spirit? | |||
[22:24:43] <risca> [attezione che è un'uguaglianza... i log rimangono...] | |||
[22:25:36] <risca> nessuno? | |||
[22:26:00] <risca> allora riprendo dalla lezione della scorsa settimana: http://guide.debianizzati.org/index.php/Accademia:Log_2011_03_20 | |||
[22:26:10] <spirit> proprio perchè richiama il modulo | |||
[22:26:10] <spirit> che poi non si verifica | |||
[22:26:18] <risca> 22:42:31 < Stemby> if __name__ == '__main__': | |||
[22:26:18] <risca> 22:42:37 < Stemby> quella riga è chiara? | |||
[22:26:18] <risca> 22:42:41 < Stemby> immagino di no | |||
[22:26:18] <risca> 22:42:43 < amosse> non | |||
[22:26:18] <risca> 22:42:52 < Stemby> è un trucchetto | |||
[22:26:20] <risca> 22:43:03 < Stemby> __name__ è una variabile speciale | |||
[22:26:23] <risca> 22:43:03 < amosse> puoi spiegare | |||
[22:26:25] <risca> 22:43:24 < Stemby> (tutti gli oggetti che sono circondati da __ sono oggetti speciali) | |||
[22:26:45] <risca> 22:45:39 < Stemby> tornando a __name__ | |||
[22:26:45] <risca> 22:46:00 < Stemby> come dicevo, è una variabile creata dall'interprete | |||
[22:26:48] <risca> 22:46:25 < Stemby> quando vale '__main__', significa che si sta eseguendo quel modulo | |||
[22:26:52] <risca> 22:46:35 < Stemby> è una semplice stringa | |||
[22:26:54] <risca> 22:46:40 < Stemby> con quel contenuto | |||
[22:26:57] <risca> 22:47:07 < Stemby> quindi se eseguite quel modulo (come al solito), la variabile __name__ assumerà quel valore | |||
[22:27:00] <risca> 22:47:35 < Stemby> dunque il blocco di codice che segue l'if, verrà eseguito SOLO quando si esegue il modulo | |||
[22:27:23] <risca> ------------------------ | |||
[22:27:27] <risca> chiaro? | |||
[22:28:46] <amosse> si ma se la tolgo e tolgo l' indentazione, dovrebbe essere lo stesso? | |||
[22:28:59] <risca> Cioè? | |||
[22:29:05] <risca> (modifica su gobby) | |||
[22:29:13] <amosse> ok | |||
[22:30:06] <risca> non è proprio lo stesso | |||
[22:30:28] <JumX> ma quale file state vedendo? | |||
[22:30:28] <amosse> provo a lanciarla | |||
[22:30:36] <risca> perchè così ti verrà stampato 'pippo' sia se esegui il codice, sia se lo importi come libreria. | |||
[22:31:07] <risca> la variabile __name__ è uguale a __main__ solo quando si sta eseguendo direttamente il codice | |||
[22:31:20] <risca> e non quando il codice è eseguito come libreria | |||
[22:31:27] <risca> Chiaro questo concetto? | |||
[22:32:01] <Ernestus> si | |||
[22:32:08] <amosse> no | |||
[22:32:13] <-- spirit (~spirit@Azzurra-C3C291C.104-82-b.business.telecomitalia.it) has quit (Client closed connection) | |||
[22:32:14] <risca> perchè no? | |||
[22:32:30] <risca> amosse? | |||
[22:32:44] <amosse> perché se io tolgo l'if e l' indentazione, il risultato é lostesso | |||
[22:32:59] <amosse> sto provando | |||
[22:33:07] <amosse> con pippo.py | |||
[22:33:12] --> spirit (~spirit@Azzurra-C3C291C.104-82-b.business.telecomitalia.it) has joined #debianizzati-corsi | |||
[22:33:31] <amosse> ottengo sempre: | |||
[22:33:34] <amosse> pippo | |||
[22:33:42] <amosse> sorry | |||
[22:33:55] <amosse> pippo | |||
[22:33:55] <amosse> ciao | |||
[22:34:01] <risca> ora ho modificato il file | |||
[22:34:21] <risca> prova (quello da me modificato) ad eseguirlo: | |||
[22:34:28] <Ernestus> scusate 5 minuti | |||
[22:34:29] <risca> python3 pippo.py | |||
[22:34:37] <risca> (ok) | |||
[22:34:46] <risca> amosse: cosa ottieni ora? | |||
[22:34:59] <risca> (posta a seguire) | |||
[22:35:45] <amosse> stampa tutti i print | |||
[22:35:58] <risca> ops... | |||
[22:36:06] <risca> scusa un secondo... | |||
[22:36:24] <risca> ecco, ora è come lo volevo | |||
[22:36:51] <risca> se adesso lo esegui come prima (python3 pippo.py) | |||
[22:36:58] <risca> ti esegue lo stesso tutti i print | |||
[22:37:06] <risca> Sei d'accordo? | |||
[22:37:09] <amosse> lo stesso | |||
[22:37:31] <risca> ora apri il prompt di python3 | |||
[22:37:39] <risca> e prova a dara: | |||
[22:37:45] <risca> >>>import pippo | |||
[22:37:50] <risca> cosa succede? | |||
[22:38:07] <risca> dare* | |||
[22:38:37] <amosse> ma io uso Geany, devo usare IDLE3? | |||
[22:38:57] <risca> apri una shell | |||
[22:39:12] <amosse> ok | |||
[22:39:18] <risca> e invoca python3 (il prompt) | |||
[22:39:37] <amosse> ok | |||
[22:39:50] <risca> se hai ad esempio KDE puoi premere ALT+F2 e quindi digitare python3 nel launcher | |||
[22:40:09] <amosse> uso gnome | |||
[22:40:14] <risca> se adesso dai nel promt di python il comando "import pippo" cosa succede? | |||
[22:40:31] <risca> (anche gnome ha un launcer ma non ho idea di come si invochi) | |||
[22:40:41] <amosse> ImportError: No module named pippo | |||
[22:40:52] <amosse> lo sto facendo da Geany | |||
[22:41:01] <risca> il file da me modificato è stato salvato? | |||
[22:41:30] <risca> ad esempio salva il file (come da me modificato) nella tua home | |||
[22:41:32] <amosse> si nella dir /home/amos/Documenti/Python/Scripts | |||
[22:41:42] <risca> aspetta | |||
[22:42:17] <risca> allora prova a aprire bash | |||
[22:42:24] <risca> vai in Script: | |||
[22:42:28] <amosse> ok | |||
[22:42:34] <risca> cd /home/amos/Documenti/Python/Scripts | |||
[22:42:42] <risca> apri il prompt di python3: | |||
[22:42:48] <risca> $ python3 | |||
[22:42:49] <risca> >>> | |||
[22:42:59] <risca> ci sei? | |||
[22:43:14] <amosse> si | |||
[22:43:19] <risca> ora prova: | |||
[22:43:24] <Ernestus> ci sono | |||
[22:43:26] <risca> >>> import pippo | |||
[22:43:34] <spirit> il modem c'è e non c'è, mi parte..scusate | |||
[22:43:35] <risca> cosa succede? | |||
[22:43:46] <amosse> import | |||
[22:43:47] <amosse> pippo | |||
[22:43:58] <risca> (spirit, hai problemi a seguire i log?) | |||
[22:44:05] <amosse> sorry | |||
[22:44:11] <spirit> si | |||
[22:44:11] <amosse> pippo | |||
[22:44:13] <amosse> ciao | |||
[22:44:14] <risca> amosse: cosa succede? | |||
[22:44:34] <amosse> ok | |||
[22:44:38] <amosse> ottengo | |||
[22:44:38] <risca> il file è quello giusto come modificato da me su gobby? | |||
[22:44:45] <amosse> si | |||
[22:44:51] <amosse> ottengo | |||
[22:44:51] <JumX> non fa nulla | |||
[22:45:00] <amosse> pippo | |||
[22:45:02] <amosse> ciao | |||
[22:45:10] <risca> giusto JumX | |||
[22:45:24] <JumX> >>> import pippo | |||
[22:45:30] <risca> (o quasi, infatti il modulo pippo ora è importato) | |||
[22:45:34] <JumX> >>> | |||
[22:45:42] <risca> amosse, stai usando un file sbagliato! | |||
[22:45:55] <Ernestus> su quale file siamo? | |||
[22:45:58] <JumX> si ma non esegue nulla per via del trucchetto giusto ? | |||
[22:46:27] <amosse> moment | |||
[22:46:28] <risca> JumX, infatti se ora digiti 'ciao' dovrebbe darti 'ciao' | |||
[22:47:00] <risca> scusa: | |||
[22:47:02] <risca> ================== | |||
[22:47:03] <risca> >>> pippo.ciao() | |||
[22:47:04] <risca> 'ciao' | |||
[22:47:06] <risca> ================== | |||
[22:47:21] <JumX> si confermo | |||
[22:47:27] <risca> Ernestus: sempre il file pippo.py come ora modificato su gobby | |||
[22:47:41] <JumX> risca fai un riepilogo per favore. | |||
[22:47:41] <Ernestus> grazie risca | |||
[22:47:54] <risca> ok | |||
[22:48:05] <risca> allora, osserviamo il file pippo.py | |||
[22:48:13] <JumX> si | |||
[22:48:32] <risca> __name__ è una variabile speciale | |||
[22:48:40] <JumX> ok | |||
[22:48:46] <risca> secondo voi quale valore assume? | |||
[22:49:08] <JumX> False | |||
[22:49:19] <risca> no JumX | |||
[22:49:29] <risca> qual è il valore di __name__? | |||
[22:49:38] <JumX> main | |||
[22:49:38] <risca> (non è una variabile booleana) | |||
[22:49:50] <risca> JumX, non sempre, a volte... | |||
[22:50:11] <JumX> non lo so | |||
[22:50:24] <risca> in questi casi google è amico: http://www.ibiblio.org/g2swap/byteofpython/read/module-name.html | |||
[22:50:41] <risca> la variabile __name__ assume il nome del modulo o, | |||
[22:51:03] <risca> se il file è lanciato come principale, assume il valore __main__ | |||
[22:51:12] <risca> chiaro questo concetto? | |||
[22:52:11] <risca> ragazzi? | |||
[22:52:41] <amosse> ah ok ora forse é più chiaro | |||
[22:53:11] <spirit> chiaro | |||
[22:53:16] <risca> per chiarire meglio salvatevi da qualche parte il file, banale, che ho appena creato | |||
[22:53:24] <risca> (myname.py) | |||
[22:53:48] <Ernestus> si | |||
[22:53:55] <risca> a questo punto aprire bash e andate nella cartella deve lo avete salvato | |||
[22:54:01] <risca> fatto tutti? | |||
[22:54:11] <spirit> si | |||
[22:54:23] <risca> Ernestus e amosse? | |||
[22:54:30] <Ernestus> salvato | |||
[22:54:46] <risca> siete con bash nella cartella dove l'avete salvato? | |||
[22:54:58] <Ernestus> si | |||
[22:55:07] <Ernestus> python3 myname.py? | |||
[22:55:11] <risca> *** ecco la prima situazione | |||
[22:55:14] <risca> =================== | |||
[22:55:15] <amosse> si | |||
[22:55:15] <risca> $ python3 myname.py | |||
[22:55:16] <risca> mi stai eseguendo come __main__ | |||
[22:55:18] <risca> ================ | |||
[22:55:30] <risca> provate anche voi | |||
[22:55:45] <risca> vi funge? | |||
[22:55:46] <Ernestus> ernesto@Debook:~$ python3 myname.py | |||
[22:55:46] <Ernestus> mi stai eseguendo come __main__ | |||
[22:55:54] <risca> ottimo! | |||
[22:56:18] <risca> infatti il file è eseguito come principale (è il "main") | |||
[22:56:38] <risca> adesso, sempre su bash, apriamo il promt e importiamo lo script: | |||
[22:56:41] <risca> =====================00 | |||
[22:57:02] <risca> $ python3 | |||
[22:57:02] <risca> Python 3.1.3 (r313:86834, Nov 28 2010, 10:01:07) | |||
[22:57:02] <risca> [GCC 4.4.5] on linux2 | |||
[22:57:02] <risca> Type "help", "copyright", "credits" or "license" for more information. | |||
[22:57:05] <risca> >>> import myname | |||
[22:57:07] <risca> mi stai eseguendo come myname | |||
[22:57:10] <risca> ===================== | |||
[22:57:16] <risca> funziona anche a voi? | |||
[22:57:23] <JumX> >>> import myname >>>mi stai eseguendo come myname | |||
[22:57:32] <JumX> yes | |||
[22:57:46] <risca> penso che adesso sia tutto chiarissimo, giusto? | |||
[22:57:48] <amosse> ok | |||
[22:57:49] <Ernestus> certo | |||
[22:58:02] <JumX> ok | |||
[22:58:07] <Ernestus> si è creato un file "mynam.pyc" perchè? | |||
[22:58:24] <risca> ne avevame parlato nelle scorse lezioni | |||
[22:58:35] <risca> chi si ricorda il perchè? | |||
[22:58:47] <risca> nessuno? | |||
[22:58:51] <spirit> bytecode | |||
[22:59:03] <risca> giustissimo! | |||
[22:59:09] <spirit> import myname.py | |||
[22:59:09] <spirit> Traceback (most recent call last): | |||
[22:59:09] <spirit> File "<stdin>", line 1, in <module> | |||
[22:59:09] <spirit> File "myname.py", line 1 | |||
[22:59:29] <spirit> %!PS-Adobe-3.0 | |||
[22:59:32] <Ernestus> myname senza -py | |||
[22:59:42] <spirit> ah | |||
[22:59:51] <risca> il fatto è che quando si importa una libreria python la trasforma in una specie di linguaggio macchina così può eseguirla più velocemente | |||
[23:00:12] <risca> chiara come spiegazione, Ernestus? | |||
[23:00:19] <spirit> forte! | |||
[23:01:13] <risca> ragazzi, avete letto il capitolo 8 e 9? | |||
[23:01:58] <amosse> io no | |||
[23:02:00] <spirit> solo il cap 8 il 9 accennato | |||
[23:02:20] <risca> stavo pensato a come proseguire la serata | |||
[23:02:33] <Ernestus> si | |||
[23:02:39] <risca> se vi interessa potremmo provare a scrivere una versione italiana del gioco dell'impiccato | |||
[23:02:44] <Ernestus> sisi | |||
[23:02:55] <risca> siete tutti d'accordo? | |||
[23:02:57] <Ernestus> volevo comprendere meglio il diagramma, nel senso come rappresentarlo | |||
[23:03:17] <Ernestus> su pyhton | |||
[23:03:36] <risca> amosse e spirit? | |||
[23:03:56] <risca> amosse e spirit??? | |||
[23:04:17] <spirit> se traduci in italiano per me va bene... | |||
[23:04:23] <amosse> ok | |||
[23:04:35] <risca> allora abbuonato per l'impiccato! | |||
[23:04:38] <spirit> in inglese non valgo tanto.. | |||
[23:04:48] <risca> andiamo tutti su gobby | |||
[23:05:03] <risca> ed usiamo anche la chat di gobby, così abbiamo tutto a portata di mano | |||
</pre> |
Versione delle 14:16, 9 mag 2011
[21:36:55] <Ernestus> ciao a tutti [21:43:42] --> JumX (~Mibbit@Azzurra=906E72D.250-95-r.retail.telecomitalia.it) has joined #debianizzati-corsi [21:43:59] <JumX> Sera, scusate il ritardo [21:48:09] <Ernestus> sera JumX [21:48:23] --> spirit (~spirit@Azzurra-C3C291C.104-82-b.business.telecomitalia.it) has joined #debianizzati-corsi [21:48:51] <JumX> Ciao spirit [21:48:57] <JumX> ciao Ernestus [21:49:07] <Ernestus> ciao spirit [21:49:18] <JumX> credevo fossi in ritardo ma a quanto pare no :) [21:49:44] <spirit> Salve [21:50:14] <spirit> avete già iniziato? [21:50:36] <JumX> no anch'io sono arrivato da poco [21:50:43] <spirit> ah [21:50:58] <spirit> studiato il cap 8? [21:51:55] <Ernestus> si [21:52:42] <Ernestus> le domande dopo? [21:52:54] <JumX> si ma io ho un dubbio su : if __name__ == '__main__' ho letto il log ma non sono sicuro di aver capito [21:53:36] <spirit> abbiamo usato idle.. [21:53:58] <spirit> poi Stemby ha usato questa varianza [21:54:18] <JumX> quale idle [21:54:32] <spirit> per far capire se name è vero.. [21:54:58] <spirit> aptitude install idle [21:55:28] <JumX> ? ma si usa solo quando si vuole importare un modulo ma non si vuol farlo eseguire . Giusto? [21:56:28] <spirit> esatto [21:56:39] <JumX> Sto installando l'idle [21:57:09] <spirit> è un trucco come dice Stemby.. [21:57:43] <JumX> ma fa riferimento a Python 2.6.6 [21:58:06] <spirit> no, il nostro py3 [21:58:31] <JumX> si loso ma ho eseguito aptitude e mi ha installato IDLE 2.6.6 [21:59:13] <spirit> no è idle3 [21:59:24] <JumX> e ora come faccio ? [21:59:37] <spirit> cambia i repo se hai debian [21:59:39] <JumX> spirit ho eseguito il tuo comando. [21:59:42] <spirit> metti sid [22:00:26] <JumX> ho Mint debian Edition (ancora per poco , è bella ma ad ogni aggiornamento c'è qualcosa che non va) [22:00:38] <spirit> ah..non sapevo [22:00:57] <spirit> c'è anche una versione di sviluppo? [22:01:02] <JumX> come disinstallo ? [22:01:15] <spirit> aptitude purge idle [22:02:03] <JumX> tornando a noi provo nel gestore pacchetti ? [22:02:29] <spirit> esatto cerca [22:02:32] <JumX> Chiedo venia ... sid = Debian squeeze ? [22:02:38] <spirit> no.. [22:02:45] <JumX> ? [22:02:51] <spirit> sid = unstable [22:02:52] --> amosse (~Mibbit@95.238.Azzurra-4C06A439) has joined #debianizzati-corsi [22:03:06] <amosse> Ciao a tutti [22:03:11] <spirit> o meglio debian unstable [22:03:18] <JumX> E che faccio lascio mint DE che trovo instabile e poi installo una instabile di natura ? [22:03:30] <JumX> ciao amosse [22:03:39] <spirit> ciao [22:04:03] <JumX> intanto ho trovato idle per python 3 [22:04:31] <spirit> dato che hai mint vai sulla versione di sviluppo.No? Lo puoi fare? [22:04:40] <JumX> ok fatto, devo configurare qualcosa ho va bvene così com'è? [22:05:27] <spirit> no, va bene cosi. [22:06:32] <JumX> spirit sto imparando ... non sono così pratico. Per me un'installazione facile è ubuntu - mint debian ho provato una volta poi mi sono bloccato sulla scheda wireless e poi su quella video . Devo mettermici con calma. [22:07:19] --> risca (~risca@Azzurra=BC37FFD.clienti.tiscali.it) has joined #debianizzati-corsi [22:07:26] <risca> buona sera [22:07:34] <spirit> ok, anch'io talvolta impazzisco per i driver [22:07:41] <spirit> ciao risca [22:07:45] <risca> come procede? [22:07:49] <amosse> ciao risca [22:07:58] <risca> purtroppo non ho i log... [22:08:03] <risca> cosa state facendo? [22:08:09] <JumX> ciao risca, ho appena installato l'idle [22:08:13] <risca> wow [22:08:20] <Ernestus> ciao risca [22:08:21] <risca> io non l'ho ancora provato [22:08:29] <risca> com'è l'idle? [22:08:34] <spirit> parlavamo del cap7 di idle e dello script fatto con Stemby [22:08:44] <JumX> e lo so che per te è facile .... [22:08:51] <risca> lo script dov'è? [22:09:23] <spirit> vai su gobby si chiama... [22:09:59] <spirit> pippo.py e l'altro.. [22:10:11] <spirit> test_pippo.py [22:10:18] <risca> ok [22:10:27] <spirit> credo siano ancora lì.. [22:10:40] <risca> sì sì [22:10:46] <risca> li avevo anche caricati sul wiki [22:10:56] <risca> cosa c'è che non vi convince? [22:11:02] <Ernestus> a me si è impallato l'idle [22:11:35] <JumX> io non so proprio come funziona [22:12:02] <spirit> killall python3 [22:12:06] <risca> andiamo con ordine. [22:12:07] <spirit> e riparti [22:12:15] <risca> chi sta utilizzando l'idel e per cosa? [22:12:28] <amosse> io l' ho aperto [22:12:30] <Ernestus> io per il capitolo 7 che non ero riuscito a vedere per lo scorso incontro [22:12:48] <JumX> idem Ernestus [22:13:11] <risca> scusate la mia ignoranza in merito, ma qual è l'idle? [22:13:30] <spirit> idle3 [22:14:12] <risca> grazie, lo sto installando anche io [22:14:18] <risca> così lo provo ;-) [22:14:29] <risca> tornando allo script della scorsa volta [22:14:32] <JumX> bravo provalo e poi mi spieghi :) [22:14:42] <risca> cosa c'è che non vi torna? [22:15:21] <risca> (lo script su gobby) [22:16:07] <Ernestus> arrivo su gobby [22:16:32] <Ernestus> qual è il file? [22:16:35] <risca> test_pippo.py [22:17:03] <amosse> qual' é la differenza a mettere: if __name__ == '__mane__ ' oppure non metterlo? [22:17:41] <risca> qua avevo iniziato a scrivere qualcosa (http://guide.debianizzati.org/index.php/Accademia:Test_import) [22:17:52] <risca> seppure trattasi solo di una bozza [22:18:07] <risca> lì è presente la libreria in due versione [22:18:10] <risca> versioni* [22:18:31] <risca> notate la particolarità: nella prima versione, senza if, [22:18:58] <risca> sia se invocate il file, sia se lo importate vi viene stampato [22:19:07] <risca> 'pippo' [22:19:11] <risca> 'ciao' [22:19:18] <risca> ------------------ [22:19:30] <risca> nella seconda versione (grazie all'if) [22:19:47] <risca> viene stampato [22:19:49] <risca> 'pippo' [22:19:51] <risca> 'ciao' [22:20:01] <risca> solo se eseguite il file [22:20:16] <risca> Se invece importate il file (come in test_pippo.py) [22:20:25] <risca> allora non viene stampato nulla [22:20:28] <risca> =================== [22:20:34] <risca> Come mai? [22:20:39] <risca> Chi me lo ripete? [22:20:54] <spirit> la condizione è falsa? [22:21:26] <risca> sì [22:21:32] <risca> come mai è falsa pero? [22:21:36] <risca> però* [22:22:09] <risca> nessuno? [22:22:27] <JumX> if __name__ == '__main__' [22:22:37] <spirit> non verifica name con == [22:23:07] <risca> sì, ma come mai la condizione è falsa solo se importato come libreria e non direttamente eseguito? [22:23:39] <spirit> non è un uguaglianza, cioè.. [22:24:03] <risca> l'uguaglianza è scritta correttamente, cosa intendi spirit? [22:24:43] <risca> [attezione che è un'uguaglianza... i log rimangono...] [22:25:36] <risca> nessuno? [22:26:00] <risca> allora riprendo dalla lezione della scorsa settimana: http://guide.debianizzati.org/index.php/Accademia:Log_2011_03_20 [22:26:10] <spirit> proprio perchè richiama il modulo [22:26:10] <spirit> che poi non si verifica [22:26:18] <risca> 22:42:31 < Stemby> if __name__ == '__main__': [22:26:18] <risca> 22:42:37 < Stemby> quella riga è chiara? [22:26:18] <risca> 22:42:41 < Stemby> immagino di no [22:26:18] <risca> 22:42:43 < amosse> non [22:26:18] <risca> 22:42:52 < Stemby> è un trucchetto [22:26:20] <risca> 22:43:03 < Stemby> __name__ è una variabile speciale [22:26:23] <risca> 22:43:03 < amosse> puoi spiegare [22:26:25] <risca> 22:43:24 < Stemby> (tutti gli oggetti che sono circondati da __ sono oggetti speciali) [22:26:45] <risca> 22:45:39 < Stemby> tornando a __name__ [22:26:45] <risca> 22:46:00 < Stemby> come dicevo, è una variabile creata dall'interprete [22:26:48] <risca> 22:46:25 < Stemby> quando vale '__main__', significa che si sta eseguendo quel modulo [22:26:52] <risca> 22:46:35 < Stemby> è una semplice stringa [22:26:54] <risca> 22:46:40 < Stemby> con quel contenuto [22:26:57] <risca> 22:47:07 < Stemby> quindi se eseguite quel modulo (come al solito), la variabile __name__ assumerà quel valore [22:27:00] <risca> 22:47:35 < Stemby> dunque il blocco di codice che segue l'if, verrà eseguito SOLO quando si esegue il modulo [22:27:23] <risca> ------------------------ [22:27:27] <risca> chiaro? [22:28:46] <amosse> si ma se la tolgo e tolgo l' indentazione, dovrebbe essere lo stesso? [22:28:59] <risca> Cioè? [22:29:05] <risca> (modifica su gobby) [22:29:13] <amosse> ok [22:30:06] <risca> non è proprio lo stesso [22:30:28] <JumX> ma quale file state vedendo? [22:30:28] <amosse> provo a lanciarla [22:30:36] <risca> perchè così ti verrà stampato 'pippo' sia se esegui il codice, sia se lo importi come libreria. [22:31:07] <risca> la variabile __name__ è uguale a __main__ solo quando si sta eseguendo direttamente il codice [22:31:20] <risca> e non quando il codice è eseguito come libreria [22:31:27] <risca> Chiaro questo concetto? [22:32:01] <Ernestus> si [22:32:08] <amosse> no [22:32:13] <-- spirit (~spirit@Azzurra-C3C291C.104-82-b.business.telecomitalia.it) has quit (Client closed connection) [22:32:14] <risca> perchè no? [22:32:30] <risca> amosse? [22:32:44] <amosse> perché se io tolgo l'if e l' indentazione, il risultato é lostesso [22:32:59] <amosse> sto provando [22:33:07] <amosse> con pippo.py [22:33:12] --> spirit (~spirit@Azzurra-C3C291C.104-82-b.business.telecomitalia.it) has joined #debianizzati-corsi [22:33:31] <amosse> ottengo sempre: [22:33:34] <amosse> pippo [22:33:42] <amosse> sorry [22:33:55] <amosse> pippo [22:33:55] <amosse> ciao [22:34:01] <risca> ora ho modificato il file [22:34:21] <risca> prova (quello da me modificato) ad eseguirlo: [22:34:28] <Ernestus> scusate 5 minuti [22:34:29] <risca> python3 pippo.py [22:34:37] <risca> (ok) [22:34:46] <risca> amosse: cosa ottieni ora? [22:34:59] <risca> (posta a seguire) [22:35:45] <amosse> stampa tutti i print [22:35:58] <risca> ops... [22:36:06] <risca> scusa un secondo... [22:36:24] <risca> ecco, ora è come lo volevo [22:36:51] <risca> se adesso lo esegui come prima (python3 pippo.py) [22:36:58] <risca> ti esegue lo stesso tutti i print [22:37:06] <risca> Sei d'accordo? [22:37:09] <amosse> lo stesso [22:37:31] <risca> ora apri il prompt di python3 [22:37:39] <risca> e prova a dara: [22:37:45] <risca> >>>import pippo [22:37:50] <risca> cosa succede? [22:38:07] <risca> dare* [22:38:37] <amosse> ma io uso Geany, devo usare IDLE3? [22:38:57] <risca> apri una shell [22:39:12] <amosse> ok [22:39:18] <risca> e invoca python3 (il prompt) [22:39:37] <amosse> ok [22:39:50] <risca> se hai ad esempio KDE puoi premere ALT+F2 e quindi digitare python3 nel launcher [22:40:09] <amosse> uso gnome [22:40:14] <risca> se adesso dai nel promt di python il comando "import pippo" cosa succede? [22:40:31] <risca> (anche gnome ha un launcer ma non ho idea di come si invochi) [22:40:41] <amosse> ImportError: No module named pippo [22:40:52] <amosse> lo sto facendo da Geany [22:41:01] <risca> il file da me modificato è stato salvato? [22:41:30] <risca> ad esempio salva il file (come da me modificato) nella tua home [22:41:32] <amosse> si nella dir /home/amos/Documenti/Python/Scripts [22:41:42] <risca> aspetta [22:42:17] <risca> allora prova a aprire bash [22:42:24] <risca> vai in Script: [22:42:28] <amosse> ok [22:42:34] <risca> cd /home/amos/Documenti/Python/Scripts [22:42:42] <risca> apri il prompt di python3: [22:42:48] <risca> $ python3 [22:42:49] <risca> >>> [22:42:59] <risca> ci sei? [22:43:14] <amosse> si [22:43:19] <risca> ora prova: [22:43:24] <Ernestus> ci sono [22:43:26] <risca> >>> import pippo [22:43:34] <spirit> il modem c'è e non c'è, mi parte..scusate [22:43:35] <risca> cosa succede? [22:43:46] <amosse> import [22:43:47] <amosse> pippo [22:43:58] <risca> (spirit, hai problemi a seguire i log?) [22:44:05] <amosse> sorry [22:44:11] <spirit> si [22:44:11] <amosse> pippo [22:44:13] <amosse> ciao [22:44:14] <risca> amosse: cosa succede? [22:44:34] <amosse> ok [22:44:38] <amosse> ottengo [22:44:38] <risca> il file è quello giusto come modificato da me su gobby? [22:44:45] <amosse> si [22:44:51] <amosse> ottengo [22:44:51] <JumX> non fa nulla [22:45:00] <amosse> pippo [22:45:02] <amosse> ciao [22:45:10] <risca> giusto JumX [22:45:24] <JumX> >>> import pippo [22:45:30] <risca> (o quasi, infatti il modulo pippo ora è importato) [22:45:34] <JumX> >>> [22:45:42] <risca> amosse, stai usando un file sbagliato! [22:45:55] <Ernestus> su quale file siamo? [22:45:58] <JumX> si ma non esegue nulla per via del trucchetto giusto ? [22:46:27] <amosse> moment [22:46:28] <risca> JumX, infatti se ora digiti 'ciao' dovrebbe darti 'ciao' [22:47:00] <risca> scusa: [22:47:02] <risca> ================== [22:47:03] <risca> >>> pippo.ciao() [22:47:04] <risca> 'ciao' [22:47:06] <risca> ================== [22:47:21] <JumX> si confermo [22:47:27] <risca> Ernestus: sempre il file pippo.py come ora modificato su gobby [22:47:41] <JumX> risca fai un riepilogo per favore. [22:47:41] <Ernestus> grazie risca [22:47:54] <risca> ok [22:48:05] <risca> allora, osserviamo il file pippo.py [22:48:13] <JumX> si [22:48:32] <risca> __name__ è una variabile speciale [22:48:40] <JumX> ok [22:48:46] <risca> secondo voi quale valore assume? [22:49:08] <JumX> False [22:49:19] <risca> no JumX [22:49:29] <risca> qual è il valore di __name__? [22:49:38] <JumX> main [22:49:38] <risca> (non è una variabile booleana) [22:49:50] <risca> JumX, non sempre, a volte... [22:50:11] <JumX> non lo so [22:50:24] <risca> in questi casi google è amico: http://www.ibiblio.org/g2swap/byteofpython/read/module-name.html [22:50:41] <risca> la variabile __name__ assume il nome del modulo o, [22:51:03] <risca> se il file è lanciato come principale, assume il valore __main__ [22:51:12] <risca> chiaro questo concetto? [22:52:11] <risca> ragazzi? [22:52:41] <amosse> ah ok ora forse é più chiaro [22:53:11] <spirit> chiaro [22:53:16] <risca> per chiarire meglio salvatevi da qualche parte il file, banale, che ho appena creato [22:53:24] <risca> (myname.py) [22:53:48] <Ernestus> si [22:53:55] <risca> a questo punto aprire bash e andate nella cartella deve lo avete salvato [22:54:01] <risca> fatto tutti? [22:54:11] <spirit> si [22:54:23] <risca> Ernestus e amosse? [22:54:30] <Ernestus> salvato [22:54:46] <risca> siete con bash nella cartella dove l'avete salvato? [22:54:58] <Ernestus> si [22:55:07] <Ernestus> python3 myname.py? [22:55:11] <risca> *** ecco la prima situazione [22:55:14] <risca> =================== [22:55:15] <amosse> si [22:55:15] <risca> $ python3 myname.py [22:55:16] <risca> mi stai eseguendo come __main__ [22:55:18] <risca> ================ [22:55:30] <risca> provate anche voi [22:55:45] <risca> vi funge? [22:55:46] <Ernestus> ernesto@Debook:~$ python3 myname.py [22:55:46] <Ernestus> mi stai eseguendo come __main__ [22:55:54] <risca> ottimo! [22:56:18] <risca> infatti il file è eseguito come principale (è il "main") [22:56:38] <risca> adesso, sempre su bash, apriamo il promt e importiamo lo script: [22:56:41] <risca> =====================00 [22:57:02] <risca> $ python3 [22:57:02] <risca> Python 3.1.3 (r313:86834, Nov 28 2010, 10:01:07) [22:57:02] <risca> [GCC 4.4.5] on linux2 [22:57:02] <risca> Type "help", "copyright", "credits" or "license" for more information. [22:57:05] <risca> >>> import myname [22:57:07] <risca> mi stai eseguendo come myname [22:57:10] <risca> ===================== [22:57:16] <risca> funziona anche a voi? [22:57:23] <JumX> >>> import myname >>>mi stai eseguendo come myname [22:57:32] <JumX> yes [22:57:46] <risca> penso che adesso sia tutto chiarissimo, giusto? [22:57:48] <amosse> ok [22:57:49] <Ernestus> certo [22:58:02] <JumX> ok [22:58:07] <Ernestus> si è creato un file "mynam.pyc" perchè? [22:58:24] <risca> ne avevame parlato nelle scorse lezioni [22:58:35] <risca> chi si ricorda il perchè? [22:58:47] <risca> nessuno? [22:58:51] <spirit> bytecode [22:59:03] <risca> giustissimo! [22:59:09] <spirit> import myname.py [22:59:09] <spirit> Traceback (most recent call last): [22:59:09] <spirit> File "<stdin>", line 1, in <module> [22:59:09] <spirit> File "myname.py", line 1 [22:59:29] <spirit> %!PS-Adobe-3.0 [22:59:32] <Ernestus> myname senza -py [22:59:42] <spirit> ah [22:59:51] <risca> il fatto è che quando si importa una libreria python la trasforma in una specie di linguaggio macchina così può eseguirla più velocemente [23:00:12] <risca> chiara come spiegazione, Ernestus? [23:00:19] <spirit> forte! [23:01:13] <risca> ragazzi, avete letto il capitolo 8 e 9? [23:01:58] <amosse> io no [23:02:00] <spirit> solo il cap 8 il 9 accennato [23:02:20] <risca> stavo pensato a come proseguire la serata [23:02:33] <Ernestus> si [23:02:39] <risca> se vi interessa potremmo provare a scrivere una versione italiana del gioco dell'impiccato [23:02:44] <Ernestus> sisi [23:02:55] <risca> siete tutti d'accordo? [23:02:57] <Ernestus> volevo comprendere meglio il diagramma, nel senso come rappresentarlo [23:03:17] <Ernestus> su pyhton [23:03:36] <risca> amosse e spirit? [23:03:56] <risca> amosse e spirit??? [23:04:17] <spirit> se traduci in italiano per me va bene... [23:04:23] <amosse> ok [23:04:35] <risca> allora abbuonato per l'impiccato! [23:04:38] <spirit> in inglese non valgo tanto.. [23:04:48] <risca> andiamo tutti su gobby [23:05:03] <risca> ed usiamo anche la chat di gobby, così abbiamo tutto a portata di mano