1. ホーム
  2. python

[解決済み] Python2.xでprint()を使う(関数版)

2022-03-01 01:40:58

質問

文と式の違いは理解していますし、Python3ではprint()が関数になったことも理解しています。

しかし、私は括弧で囲まれたprint()文を様々なPython2.xインタプリタで実行しましたが、完璧に実行され、どのモジュールをインポートする必要さえもなかったです。

質問です。次のコードは print("Hello SO!") は、Python2.xでは文として評価されるのか、式として評価されるのか?

どのように解決するのですか?

次のような式を考えてみましょう。

a = ("Hello SO!")
a = "Hello SO!"

等価である。 同じように、ステートメントで

statement_keyword("foo")
statement_keyword "foo"

も同等です。

print関数を変更すると、になることに注意してください。

print("Hello","SO!")

python 2とpython 3の違いにお気づきでしょう。 python 2では (...,...) はタプルとして解釈されます。printは文であるのに対し、python3では複数の引数を持つ関数呼び出しだからです。

したがって、目の前の質問に答えるために print は、python 2.xでは、以下のようにしない限り、文として評価されます。 from __future__ import print_function (python2.6で導入)