因为在参加topcoder的SRM算法比赛中遇到了因为版本不同而造成最终结果不同的问题,所以特地对此进行了一定的学习和了解,将二者间的区别总结如下:
- print 函数
python 2 中print函数带或者不带括号,不影响最终结果。但是python 3中必须带括号,不然就会报错。 - 整数除法
python 2中整数相除,会返回整数,即使两个数相除的实际结果为小数。而在python 3中,相除的结果为小数。 - xrange 函数
在python 2中,可以使用xrange来进行迭代。但是在python 3中不存在这个函数,直接用range来实现即可。 - next()函数
在python 2中,无论是用next(generator)还是用generator.next(),都是ok的。但是在python 3中,只能用next()函数,而不能用方法,即只能用next(generator),不能用generator.next()。 - Input函数
在python 3中,统一使用input,并且将输入的内容存为一个字符串。
比较常见的几个函数的改动,就是这些了。剩下的,比如对于无序类型的比较、循环变量、zip函数等的返回数据类型等问题,在后期遇到相关问题时再作讨论。