Python 2.7で印刷関数を返すにはどうすればよいですか?Python 3ではと入力できますreturn print(True)
が、Python 2.7では、を実行しようとすると無効な構文エラーが発生しますreturn print True
。私はPythonを初めて使用します。
11374 次
3 に答える
9
Python 2.xではprint
、関数ではなくキーワードです。考えられる最善の解決策は、次のように3.xのような印刷動作をインポートすることです。
from __future__ import print_function
p = print # now you can store the function reference to a variable
p('I am a function now!')
>>> I am a function now!
def get_print():
return print # or return it :)
get_print()
>>> <function print>
于 2013-01-07T21:38:38.887 に答える
2
printは関数ではなく、予約語*であるため、Python2.7ではこれは不可能です。次のように簡単に関数を作成できます。
def printf(x):
print x
そして、あなたはあなたが望むことをすることができます:
return (printf(True))
ただし、名前の変更を行う必要があります。
*これは、Python3でよりエレガントに解決されたものの1つです。
于 2013-01-07T21:35:27.650 に答える
0
print
、Python 2の関数ではなくステートメントであるため、この方法では使用できません。むしろ、これを行う必要があります。
from __future__ import print_function
def foo():
return print(True)
foo()
于 2013-01-07T21:39:47.153 に答える