On Wed, Jan 27, 2010 at 11:32 AM, Daniel Fetchinson <fetchin...@googlemail.com> wrote: > Hi folks, > > I was going to write this post for a while because all sorts of myths > periodically come up on this list about python 3. I don't think the > posters mean to spread false information on purpose, they simply are > not aware of the facts. > > My list is surely incomplete, please feel free to post your favorite > misconception about python 3 that people periodically state, claim or > ask about. > > 1. Print statement/function creates incompatibility between 2.x and 3.x! > > Certainly false or misleading, if one uses 2.6 and 3.x the > incompatibility is not there. Print as a function works in 2.6: > > Python 2.6.2 (r262:71600, Aug 21 2009, 12:23:57) > [GCC 4.4.1 20090818 (Red Hat 4.4.1-6)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. >>>> print( 'hello' ) > hello >>>> print 'hello' > hello >>>> > > > 2. Integer division creates incompatibility between 2.x and 3.x! > > Again false or misleading, because one can get the 3.x behavior with 2.6: > > Python 2.6.2 (r262:71600, Aug 21 2009, 12:23:57) > [GCC 4.4.1 20090818 (Red Hat 4.4.1-6)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. >>>> 6/5 > 1 >>>> from __future__ import division >>>> 6/5 > 1.2 > > > Please feel free to post your favorite false or misleading claim about python > 3!
Well, I see two false or misleading claims just above - namely that the two claims above are false or misleading. They tell just half of the story, and that half is indeed easy. A Python 3 program can be unchanged (in the case of print) or with only trivial modifications (in the case of integer division) be made to run on Python 2.6. The other way around this is _not_ the case. To say that two things are compatible if one can be used for the other, but the other not for the first, is false or misleading. -- André Engels, andreeng...@gmail.com -- http://mail.python.org/mailman/listinfo/python-list