こんにちは、PyQサポートです。
今回は SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
というエラーの意味と、その解消方法を解説します。
- 質問 SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?というエラーはどういうものですか?
- 回答 printの呼出しにカッコがありません
質問 SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
というエラーはどういうものですか?
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
というエラーが出ました。どのように直したら良いでしょうか?
入力した内容(コード)
print "Hello"
出たエラー(実行結果)
File "/Users/pyq/scripts/hello.py", line 1 print "Hello" ^^^^^^^^^^^^^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
回答 printの呼出しにカッコがありません
まず、SyntaxError
とあるので「文法エラー」だと分かります。
そして、エラー内容は Missing parentheses in call to 'print'. Did you mean print(...)?
です。
「parentheses」はカッコのことなので、このエラー内容は「'print'の呼び出しにカッコがありません。print(...)のことでしょうか?」という意味です。
print
は関数です。そのためエラーメッセージの通り、カッコを付けて記述する必要があります。
正しいコード
print("Hello")
参考 古いprintの書き方
Python 2系では、print
は関数ではなく文でした。そのため、以下の書き方で動作しました。
# Python 2系では動作する print "Hello"
しかし、Python 3系でprint
は関数となり、上記の書き方は文法間違いとなりました。
Python 2系は2020年にサポートが終了しているため、今後新たに使う必要性はほとんどありません。
ただ、古いコードやブログ記事などでこのような書き方を見るかもしれないので、参考程度に知っておくとよいでしょう。