Python3 和 Python2的区别

Python3和Python2的兼容性太差了,不像一般的语言那样能够严格地向下兼容,不管升级后有多大好处,起码低版本下编写的程序能在高版本下跑。而且,Python的升级恰好改变了初学者常用的函数或用法,致使初学者参考以Python2为基础的工具书进行的实验是一步一个坑啊。

说下最起码的:

1、print

Python2中print用法为:print [string]

Python3中这样写直接异常,要使用挎号,类似Java语言中函数调用的写法:print([string])

2、屏幕输入

Python2中接受屏幕输入函数:raw_input(),在Python3中报错。

Python3中接受屏幕输入函数:input()。

Python2:

while True: 
   s = raw_input('Enter something : ') 
   if s == 'quit': 
      break 
   print 'Length of the string is', len(s) 
   print 'Done'  

Python3:

while True: 
   s = input('Enter something : ') 
   if s == 'quit': 
      break
   print('Length of the string is:',len(s))  
   print('Length of the string is:'+ str(len(s)))
   print('Done')

再吐槽一下:

1、块语句使用缩进来表示,空格和TAB健还不能混用,否则就报错。这是多么苛刻的要求,每次写代码还得数空格个数。

2、输出会“自作多情”地给你加上空格,如上例输出字符串长度。还得额外地使用函数消除空格,明显多此一举。

3、for循环还有else语句,条件都在for语句中设置好了,再整个else,这不是if和for杂交的产物吗,令人匪夷所思。

目前其优点没发现多少,怪异的地方倒是发现不少。

也许缺点就是优点。但愿后续使用能发现亮点。


posted @ 2017-08-31 19:16  hongweigg  阅读(6)  评论(0编辑  收藏  举报