[Python] Python e Mac 10.4.11
Daniele Varrazzo
piro a develer.com
Mar 17 Mar 2009 11:46:30 CET
On Tue, 17 Mar 2009 11:29:41 +0100, nuvolare <nuvolare a email.it> wrote:
> Io sto avendo problemi nell'apprendere Python.
> Guardate cosa succede a me:
>
> Sto provando a scrivere ciò che riporta il libro per capire, e trovo
> degli esempi, tipo
> Codice:
> Stampa2Volte('Pippo')
>
> Dovrebbe stampare 2 volte l'argomento della funzione, quindi Pippo
> Pippo.
> Invece io visualizzo:
> Codice:
> >>> Stampa2Volte('Pippo')
> Traceback (most recent call last):
> File "<pyshell#0>", line 1, in <module>
> Stampa2Volte('Pippo')
> NameError: name 'Stampa2Volte' is not defined
> >>>
>
>
> Qual'è l'errore?
Non hai definito Stampa2Volte.
Dove l'hai definito? Se l'hai definito in un file allora devi importarlo
(es. se è in test.py devi usare "from test import Stampa2Volte) se ottieni
un ImportError... se ne ragionerà. Se l'hai definito nel modulo
interattivo, forse hai usato un nome leggermente diverso (le
maiuscole/minuscole contano). Scrivi "dir()" per sapere quali sono i nomi
correntemente conosciutoi dalla shell interattiva.
> Poi su Terminale del Mac scrivo :
> Codice:
> >>> print "Pippo",
>
> Come risultato visualizzo :
> Codice:
> Pippo
>
> Se lo faccio da IDLE mi dice
> Codice:
> >>> print "Pippo",
> SyntaxError: invalid syntax (<pyshell#16>, line 1)
> >>>
>
> MA qual'è la differenza fra i due?
> Ho notato che quanto scrivo Python su Terminale esce Python 2.5,
> mentre io ho scaricato ed utilizzo IDLE 3.0, questo può fare queste
> differenze?
Esatto.
In Python 3.0 dovresti scrivere qualcosa come print("Pippo")... prima di
confonderti troppo le idee ti dico che:
- python 2.x è la linea dei python maturi e stabili, che viene evoluta
senza traumi da una decina di anni;
- python 3.0 è il futuro: è uscito da pochi mesi e contiene ripensamenti
al linguaggio non compatibili col passato.
Impararli entrambi, per te che cominci ora, penso ti farebbe confusione a
causa delle sottili differenze di sintassi, come quella che hai incontrato.
Anche se imparare il 3.0 sarebbe sensato, il 99% dell'esperienza, sia
quello che trovi su internet, sia quello che puoi chiedere direttamente
alla gente (e.g. qui) è basato sul 2.x. Tutte le librerie (per scrivere
interfacce utente, programmi web, connessioni al database, calcoli
matematici...) sono compatibili per il 2.5 e la versione per 3.0 deve ancor
arrivare.
Per questi motivi, anche se il futuro è quello e il linguaggio è
"migliore", ti consiglio di usare solo Python 2.5 per imparare. Il
passaggio al 3.0 non è traumatico quando si ha esperienza.
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python