2010-02-07 9 views
5

Eventuali duplicati:
What version of Python should I use if I’m a new to Python?È consigliabile andare con Python 3.1 per principianti?

E 'consigliabile andare con Python 3.1 per un principiante? O ci sono gravi inconvenienti che dovrei prendere in considerazione?

+1

Quali sono le alternative? – Amirshk

+0

Qualsiasi cosa si possa pensare. Non è legato a qualche lavoro, solo interesse puro. – aefxx

+2

Vedere: http://stackoverflow.com/questions/170921/to-learn-python-2-then-3-or-3-from-the-start – harto

risposta

17

3.1 è molto più semplice di 2.5 o 2.6, ma attualmente soffre di una grave mancanza di componenti aggiuntivi di terze parti, ambienti che lo supportano (grandi app che lo utilizzano per lo scripting, ecc.) E strumenti come IDE. Quindi, molto dipende da cosa vuoi imparare Python - se solo per l'edificazione personale, 3.1 è l'ideale; se effettivamente si costruiscono o controllano applicazioni, siti Web, ecc., allora 2.5 o 2.6 ti serviranno meglio al momento attuale (3.* senza dubbio raggiungeranno e supereranno lo 2.* in futuro, ma il futuro non è ancora qui ;-).

+0

3.1 è al più marginalmente più semplice di 2.5/2.6. Dovrei chiedermi cosa valga la pena imparare senza strumenti per costruire o controllare applicazioni, siti web, ecc. –

+3

@Mike, per molti anni il MIT ha basato il loro primo corso di programmazione su Scheme - completamente privo di strumenti per costruire o controllare applicazioni, siti web, ecc. - semplicemente per la profondità dell'apprendimento supportato (SICP, il libro immortale, è ora disponibile gratuitamente online). Il MIT ora è passato a Python ('2. *') per quel corso, favorendo la praticità, ma altre scuole continuano a favorire "edificazione personale" su questioni pratiche (usando ad esempio Scheme, Mozart, SML e simili) nella programmazione introduttiva. Per un corso di questo tipo, incentrato su Python, le molte vecchie cose ridondanti in 2 rimosse in 3 rendono il 3 ** molto ** più semplice. –

+0

piccolo è meglio. Sono d'accordo, ho trovato che python3 è molto più facile con tutto ciò che cruft rimosso. dare un'occhiata ad alcune web lib come http, interfacce buffer come con StringIO e passare all'utilizzo "predefinito" degli iteratori ovunque possibile, invece della fornitura corrente di una versione non iteratore e iteratore di ogni funzione –

3

Molti dei libri Python più recenti hanno come destinazione Python 3.x. Imparerai il futuro!

Ma i moduli di terze parti non sono necessariamente pronti per Python 3.x ... ma se si sta solo imparando a programmare che potrebbe non avere molta importanza.

+0

Non si tratta di moduli di terze parti. Voglio aggiungere Python alle lingue che ho già imparato. – aefxx

+0

se hai già imparato tante lingue, mi chiedo se le hai padroneggiate! se non hai intenzione di utilizzare le librerie di terze parti, non hai certamente padronanza della produttività. andare con 2.6 se si intende effettivamente fare qualcosa –

3

L'unico inconveniente possibile che posso pensare è che un sacco di codice Python ed esempi esistenti sono scritti per Python 2.x e potrebbero non funzionare in Python 3. Ma le modifiche che devi apportare sono in genere piuttosto piccole così ti abituerai presto alle leggere differenze.

Se si sta imparando da un tutorial, assicurarsi che sia rivolto a Python 3.xe non 2.x in modo che gli esempi funzionino correttamente.

1

Python è un buon linguaggio per i principianti. È facile riprendere le cose velocemente. La lingua contiene tutte le principali tecniche di programmazione, come OOP, ecc. In modo che tu possa imparare sia come programmare sia i concetti con esso.

Un sacco di tutorial online:

Su un lato nota, che questo è un linguaggio interpretato, significa che non c'è compilatore/linker. Quindi, IMO, è più facile iniziare a scrivere codice.

+0

Grazie per il collegamenti. In realtà sono un programmatore abbastanza esperto (proveniente dal mondo Java/C, che ora sta facendo sviluppo web con PHP) e volevo provare Python come tutti sembrano entusiasmarlo. – aefxx

+0

Ah, quindi potresti anche voler imparare alcuni framework specifici, come django, che utilizzano il potere di Python. – Amirshk

+0

Daremo un'occhiata a Django. Grazie Am. – aefxx

4

Il supporto della libreria è un grosso problema, per ora, fino a quando gli sviluppatori di librerie svilupperanno il loro supporto per Python 3.x.

Ad esempio, ecco alcune librerie popolari che potrebbero essere interessate all'apprendimento, che non supportano ancora Python 3.x:

Ecco alcune librerie che fanno supporto Python 3. x:

biblioteche con supporto in-progress:

+0

PyGame vale la pena aspettare, il resto può fare una bella vacanza :) Aggiornamento –

+0

: solo wxPython manca 3.x supporto – Tshepang