2011-01-30 69 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来解决这些问题。