2011-01-30 27 views
7

Voglio imparare Python. Ho un corso da fare in Python 3. Tuttavia, dovrò usare principalmente Matplotlib e Numpy, e queste librerie non sono ancora compatibili con Python 3. Vale la pena fare il corso in Python 3 o sarà una perdita di tempo imparare Python 3 e poi tornare a Python 2.x?Nuovo in Python ... Python 3 e Matplotlib

Cosa vorresti fare?

+5

numpy supporta py3k, Matplotlib no. – SilentGhost

+0

possibile duplicato di http://stackoverflow.com/questions/880485/should-i-learn-python-2-x-or-start-learning-python-3 e, beh, i duplicati degli stessi. – badp

+2

Abbastanza diverso. La risposta a "Devo imparare Python 2 o 3" è "Python 2". Questa domanda è "È un corso di Python 3 sprecato". La risposta è no". –

risposta

13

Non avrai problemi a tornare a Python 2.x dopo aver imparato Python 3 o viceversa. Non ci sono troppe differenze. (Alcune modifiche alle librerie standard, la stampa è una funzione, tutte le stringhe sono unicode - non noterai mai la maggior parte di esse).

Realisticamente, se ora impari Python 3 e ottieni un lavoro con Python, per il momento lavorerai quasi sicuramente con Python 2.x. Python 3 non ha ancora ottenuto un'adozione ampia. Tuttavia, Python 3 sarà più adottato nel prossimo futuro, poiché un numero di librerie viene portato su Python 3.

Se è necessario utilizzare Matplotlib in modo specifico, è necessario utilizzare Python 2.7 (non ha senso usare Python 3 adesso se la libreria che ti serve non funziona per questo). Ma prima imparare Python 3 non ti metterà in alcun modo in svantaggio e potrebbe portarti in testa alla curva quando la maggior parte delle persone finalmente farà il passaggio.

Non c'è niente che ti impedisca di usare entrambi (Python 3 per apprendimento/sperimentazione, Python 2.7 per lavoro).

4

"Che cosa faresti?"

vorrei porta matplotlib per Python 3. :-)

Ma no, un corso di Python 3 non è sprecato. Le differenze sono principalmente nella libreria standard e in sottili differenze interne.

Le principali differenze nel linguaggio stesso sono che il tipo Unicode è chiamato str in Python 3 e che print è una funzione. Le differenze non sono così grandi che un corso è sprecato.

0

Un altro modo per utilizzare l'elemento è cython che consente di generare librerie Python native compatibili (senza utilizzare 2to3 o 3to2) con 2.xe 3.x. Tuttavia, è un po 'di lavoro. Si arriva a usare le nozioni di set e dict con le versioni di Python che però non supportano tali funzionalità.

14

FYI, Matplotlib è ora ported to Python 3.

+2

collegamento diretto al progetto github: https://github.com/matplotlib/matplotlib-py3 – mgalgs

+0

"è stato riunito in https://github.com/matplotlib/matplotlib " –

+0

hg clone git: //github.com/matplotlib/matplotlib.git; cd ma *; python3.2 s * p.py install –