py3和py2的区别

时间:2021-12-21 01:47:54

折腾了半天,终于开始写代码,然而复制完网上第一段代码就遇到了bug。

import tensorflow as tf

hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print sess.run(hello)

提示

  File "<ipython-input-4-da845ff58c9a>", line 5  print sess.run(hello)  ^ SyntaxError: invalid syntax

百思不得其解,问了大佬才知道原来是py3和py2的语法不同。
于是决定写篇记录一下。
主要参照http://www.cnblogs.com/codingmylife/archive/2010/06/06/1752807.html这篇博文
去除print语句,加入print()函数实现相同的功能。同样的还有 exec语句,已经改为exec()函数 
浏览了一遍发现除了很少的点,其他我都还没用到过0.0那就先这样吧。
编码 
Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的: 
    >>> 中国 = 'china' 
    >>>print(中国) 
    china 
Print:去除print语句,加入print()函数实现相同的功能。同样的还有 exec语句,已经改为exec()函数 
     2.X: print "The answer is", 2*2 
     3.X: print("The answer is", 2*2) 
     2.X: print x,                              # 使用逗号结尾禁止换行 
     3.X: print(x, end=" ")                     # 使用空格代替换行 
     2.X: print                                 # 输出新行 
     3.X: print()                               # 输出新行 
     2.X: print >>sys.stderr, "fatal error" 
     3.X: print("fatal error", file=sys.stderr) 
     2.X: print (x, y)                          # 输出repr((x, y)) 
     3.X: print((x, y))                         # 不同于print(x, y)!