2011-01-30 68 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 2011-01-30 17:55:11

+0

http://stackoverflow.com/questions/880485/should-i-learn-python-2-x-or-start-learning-python-3的可能重複,以及它的重複。 – badp 2011-01-30 18:01:48

回答

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

「你會做什麼?」

我會口matplotlib到Python 3 :-)

但是,沒有,在Python 3個療程不浪費。這些差異主要在標準庫中,並且存在微妙的內部差異。

語言本身的主要區別在於unicode類型在Python 3中稱爲str,而print是一個函數。差異並不大,浪費了一門課程。

0

另一種方法是使用類似cython的東西,它允許您生成與2.x和3.x兼容的本地python庫(不使用2to3或3to2)。但是,這是一個工作。儘管如此,你還是可以使用Python和Python版本的set和dict comprehensions來解決這些問題。