Python 3で文字列を印刷するときになぜ構文エラーが発生するのですか?
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
Python 3では、print
関数になりました 。これは、次に示すように括弧を含める必要があることを意味します。
print("Hello World")
Python 3.0を使っているようです。ここでは、ステートメントではなく、 printが呼び出し可能な関数になっています です。
print('Hello world!')
Python 3では、print statement
がprint() 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の新機能
Python 3.0では、print
は()を必要とする通常の関数です。
print("Hello world")
Python 3では、print "something"
ではなくprint("something")
です。
Python 3を使用しているようです。Python3では、printはステートメントではなくメソッドに変更されました。これを試して:
print("hello World")
Python 3では、print('some code')
をしなければなりません。これはPython 3ではそれが関数になったからです。必要ならば、あなたはあなたのPython 2コードを使い、2to3
を使ってそれをPython 3コードに変換することができます - それはPythonに付属するすばらしい組み込みプログラムです。詳しくは、Python 2to3 - Python 2をPython 3に自動的に変換する!をご覧ください。
あなたはprintでブラケットを使わなければなりません:
print("Hello, World!")
Python 2.Xではprint
は キーワード ですが、Python 3.Xではprint
は関数になるため、正しい方法はprint(something)
です。
次のコマンドを実行して、各バージョンのキーワードのリストを取得できます。
>>> import keyword
>>> keyword.kwlist