web-dev-qa-db-ja.com

Python 3で印刷時の構文エラー

Python 3で文字列を印刷するときになぜ構文エラーが発生するのですか?

>>> print "hello World"
  File "<stdin>", line 1
    print "hello World"
                      ^
SyntaxError: invalid syntax
256
Scott

Python 3では、print関数になりました 。これは、次に示すように括弧を含める必要があることを意味します。

print("Hello World")
329
Unknown

Python 3.0を使っているようです。ここでは、ステートメントではなく、 printが呼び出し可能な関数になっています です。

print('Hello world!')
49
brianz

Python 3では、print statementprint() functionに置き換えられ、キーワード引数が古いprint文の特別な構文の大部分を置き換えるために。だからあなたはそれを次のように書く必要があります。

print("Hello World")

しかし、これをプログラムで書いて、Python 2.xを使っている人が実行しようとすると、エラーが発生します。これを避けるために、印刷機能をインポートすることをお勧めします。

from __future__ import print_function

これで、コードは2.xと3.xの両方で機能します。

Print()関数に慣れるために、以下の例もチェックしてください。

Old: print "The answer is", 2*2
New: print("The answer is", 2*2)

Old: print x,           # Trailing comma suppresses newline
New: print(x, end=" ")  # Appends a space instead of a newline

Old: print              # Prints a newline
New: print()            # You must call the function!

Old: print >>sys.stderr, "fatal error"
New: print("fatal error", file=sys.stderr)

Old: print (x, y)       # prints repr((x, y))
New: print((x, y))      # Not the same as print(x, y)!

出典: Python 3.0の新機能

29
ChillarAnand

Python 3.0では、printは()を必要とする通常の関数です。

print("Hello world")
18
Ayman Hourieh

Python 3では、print "something"ではなくprint("something")です。

16
Paweł Polewicz

Python 3を使用しているようです。Python3では、printはステートメントではなくメソッドに変更されました。これを試して:

print("hello World")
15
TwentyMiles

Python 3では、print('some code')をしなければなりません。これはPython 3ではそれが関数になったからです。必要ならば、あなたはあなたのPython 2コードを使い、2to3を使ってそれをPython 3コードに変換することができます - それはPythonに付属するすばらしい組み込みプログラムです。詳しくは、Python 2to3 - Python 2をPython 3に自動的に変換する!をご覧ください。

8
AtPython

あなたはprintでブラケットを使わなければなりません:

print("Hello, World!")
7
user4909217

Python 2.Xではprintキーワード ですが、Python 3.Xではprintは関数になるため、正しい方法はprint(something)です。

次のコマンドを実行して、各バージョンのキーワードのリストを取得できます。

>>> import keyword
>>> keyword.kwlist
6
lmiguelvargasf