ホームページ >バックエンド開発 >Python チュートリアル >一見正しい Python コードが「SyntaxError: Invalid Syntax」をスローするのはなぜですか?
一見有効な Python コードの「SyntaxError: 無効な構文」のトラブルシューティング
次の行で「SyntaxError: 無効な構文」エラーが発生した場合コードが有効であるように見える場合は、その前の行を確認することが賢明です。このエラーは、前の行のかっこの不均衡が原因で発生する可能性があり、それが繰り越されてエラーが発生する可能性があります。
例として次のコードを考えてみましょう。
fi2=0.460*scipy.sqrt(1-(Tr-0.566)**2/(0.434**2)+0.494) guess = Pmin+(Pmax-Pmin)*((1-w**2)*fi1+(w**2)*fi2)
ここでは、 2 行目で「無効な構文」のエラーが報告されます。ただし、よく見てみると、行 1 には開き括弧が 3 つありますが、閉じ括弧が 2 つしかないことがわかります。
open parentheses: 1 2 3 # count open parentheses v v v # forked lines leading to parentheses fi2=0.460*scipy.sqrt(1-(Tr-0.566)**2/(0.434**2)+0.494) ^ ^ # where error might be closed parentheses: 1 2 # count closed parentheses
誤った行 1 は次のように修正する必要があります。
fi2=0.460*scipy.sqrt(1-(Tr-0.566)**2/(0.434**2) + 0.494) # add missing parenthesis
注Python の古いバージョン (3.9 より前) では、エラー メッセージは問題の場所を特定するのにそれほど正確ではありませんでした。ただし、Python 3.9 以降では、エラー メッセージは問題の原因を正しく示しています:
File "prog.py", line 1 xyzzy = (1 + ^ SyntaxError: '(' was never closed
以上が一見正しい Python コードが「SyntaxError: Invalid Syntax」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。