在 python 中,一切都是对象,您可以轻松地传递它。
所以我可以这样做:
>> def b():
....print "b"
>> a = b
>> a()
b
但如果我这样做
a = print
我明白了SyntaxError
。为什么这样 ?
在 python 中,一切都是对象,您可以轻松地传递它。
所以我可以这样做:
>> def b():
....print "b"
>> a = b
>> a()
b
但如果我这样做
a = print
我明白了SyntaxError
。为什么这样 ?
在 Python 2.x 中,print 是语句而不是函数。在 2.6+ 中,您可以使用from __future__ import print_function
. 在 Python 3.x 中,它是一个可以传递的函数。
在python2中,print
是一个语句。如果你这样做from __future__ import print_function
,你可以按照你描述的那样做。在 python3 中,您尝试的内容无需任何导入即可工作,因为 print 是一个函数。
The other answers are correct. print
is a statement, not a function in python2.x. What you have will work on python3. The only thing that I have to add is that if you want something that will work on python2 and python3, you can pass around sys.stdout.write
. This doesn't write a newline (unlike print
) -- it acts like any other file object.
print
不是 3.x python 之前的函数。它甚至不像一个,你不需要调用它(params)