Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

【Pythonお悩み解決】SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?とは何ですか?

こんにちは、PyQサポートです。

今回は SyntaxError: Missing parentheses in call to 'print'. Did you mean 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年にサポートが終了しているため、今後新たに使う必要性はほとんどありません。

ただ、古いコードやブログ記事などでこのような書き方を見るかもしれないので、参考程度に知っておくとよいでしょう。

Copyright ©2017- BeProud Inc. All rights reserved.