こんにちはPyQサポートです。
このPythonお悩み解決では、SyntaxError: '(' was never closed
の原因とエラーの読み解き方を紹介します。
Python3.10.0先取り記事で紹介しましたようにPython3.10から、構文エラーの表現が改善されました。本記事は、SyntaxError: unexpected EOF while parsingの読み解き方と解決方法を紹介しますの内容をPython3.10バージョンで再構築しています。
SyntaxErrorとは?
SyntaxError
はプログラムがPythonの文法として正しくないときに発生するエラーです。今回は関数やメソッドを使うときに起こるエラーに焦点を当てます。
SyntaxError: '(' was never closed のエラー例
関数やメソッドを使うときにこのようなエラーが起きたことはないでしょうか?
# sample.py text = 'Hello, Python!' print(text, len(text) # ここは空行ですが、わかりにくいのでコメントを入れています
File "sample.py", line 2 print(text, len(text) ^ SyntaxError: '(' was never closed
SyntaxError: '(' was never closed の原因と解決方法
関数やメソッドの括弧を閉じ忘れているとSyntaxError: '(' was never closed
というエラーメッセージが表示されます。
このコードのエラーの原因は、print関数の括弧が閉じられていないことです。
解決自体はとても簡単です。print関数に閉じ括弧)
をつけるだけです。
まとめ
PyQのエディターをはじめとして、多くのエディターには始め括弧を入力すると閉じ括弧を補完する機能があります。とはいえ、プログラムを書いているときにうっかり閉じ括弧を消してしまってエラーが出ることもあるかもしれません。 Python3.9までは、SyntaxError: unexpected EOF while parsingの読み解き方と解決方法を紹介しますのようにエラーの原因が分かりづらかったですが、Python3.10では原因がわかりやすくなりました。