2011-01-30 13 views
7

私はPythonを学びたいと思っています。私はPython 3でやりたいことがあります。しかし、matplotlibとNumpyを主に使用する必要があります。これらのライブラリはPython 3とはまだ互換性がありません。Python 3でコースをやる価値はあるのでしょうか、 Python 3を学び、Python 2.xに戻ってきましたか?Python初心者... Python 3とMatplotlib

あなたは何をしますか?

+5

numpyはpy3kをサポートしていますが、matplotlibはサポートしていません。 – SilentGhost

+0

可能な複製http://stackoverflow.com/questions/880485/should-i-learn-python-2-x-or-start-learning-python-3と、よくその複製物。 – badp

+2

若干異なります。 「Python 2または3を学ぶべきか」の答えは「Python 2」です。この質問は、「Python 3コースは無駄ですか」です。答えはいいえだ"。 –

答えて

13

Python 3を習得してもPython 2.xに戻っても問題はありません。逆もまた同様です。違いはあまりありません。 (いくつかの標準的なライブラリの変更は、printは関数であり、すべての文字列はUnicodeです - あなたはそれらのほとんどを気付かないでしょう)。

現実的には、Python 3を今学び、Pythonを使って仕事をしているなら、Python 2.xで作業することは間違いありません。 Python 3はまだ普及していません。しかし、多くのライブラリがPython 3に移植されているので、Python 3は近い将来採用される予定です。

Matplotlibを特に使用する必要がある場合は、Python 2.7を使用する必要があります(Python 3あなたが必要とするライブラリがそれのために働かないならば、今すぐ)。しかし、Python 3を最初に学ぶことは決して不利にならず、ほとんどの人が最終的に切り替えるときにあなたを先に進めるかもしれません。

両方を使用するのを止めることもありません(学習/実験のためのPython 3、仕事のためのPython 2.7)。

4

「あなたはどうしますか?」

私は

:-)のPython 3への移植matplotlibのだろうが、いや、Pythonの3コースが無駄にされていません。違いは主に標準ライブラリと微妙な内部の違いです。

言語自体の主な違いは、Python 3ではUnicode型がstrと呼ばれ、printは関数であるという点です。違いはあまりにも大きくないのでコースが無駄になります。

0

cythonのようなものを使用すると、2.xと3.xの両方で互換性のある(2to3または3to2を使用しない)ネイティブのPythonライブラリを生成することができます。しかし、それは少しの作業です。これらの機能をサポートしていないPythonのバージョンでは、setとdictの補完を使用することになります。

14

FYI、Matplotlibは現在ported to Python 3です。

+2

githubプロジェクトへの直接リンク:https://github.com/matplotlib/matplotlib-py3 – mgalgs

+0

https://github.com/matplotlib/matplotlibに統合されました。 –

+0

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

関連する問題