Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python SyntaxError:無効な構文

構文は、プログラミング言語の記述方法を規定する規則です。各言語には、他の言語とは異なる独自の構文規則のセットがあります。それらは、話し言葉の文法や句読点のように考えることができます。英語の疑問符(?)は、ギリシャ語の疑問符(;)とは異なります。

構文エラーが発生した場合、プログラミング言語を誤って記述していると推測できます。誤って別の言語の構文を省略または使用している可能性があります。これは、開発者が技術スタックを増やすときによく発生することです。

この記事では、一般的なPython構文エラーについて詳しく説明し、例を示し、それらを修正する方法を示します。

一般的な構文エラーとその修正方法

辞書

以下のコードで構文エラーがスローされた理由を理解してください。

student_gpas = {
    'Mary': 3.0,
    'Tim': 2.5
    'John': 4.0
}
print(f'Mary has a {student_gpas["Mary"]} GPA.')
 
# returns SyntaxError: invalid syntax

「2.5のキーと値のペアの後にコンマがない」と言えば、正しいです。 JavaScriptのオブジェクトと同様に、辞書では、最後のキーと値のペアを除いて、各キーと値のペアの後にコンマが必要です。

上記のエラーの解決策は以下のとおりです。

student_gpas = {
    'Mary': 3.0,
    'Tim': 2.5,
    'John': 4.0
}
print(f'Mary has a {student_gpas["Mary"]} GPA.')
 
# returns Mary has a 3.0 GPA.

引用

以下のコードの構文エラーがスローされた理由を理解してください。

print('Mary's teacher stated that she has a 3.0 GPA.')
 
# returns SyntaxError: invalid syntax

「引用符内で同じタイプの引用符を使用する」という方針に沿って何かを言った場合、あなたは正しいでしょう。 Pythonで引用符を使用するときに構文エラーを回避する方法はいくつかあります。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

1.二重引用符を使用する

print("Mary's teacher stated that she has a 3.0 GPA.")

2.円記号を使用する

print('Mary\'s teacher stated that she has a 3.0 GPA.')

古いバージョンのPythonで新しい構文を使用する

使用している構文が、使用しているPythonのバージョンと互換性があることを確認してください。たとえば、3.6より前のPythonバージョンでは、f文字列を認識できず、構文を実行すると無効な構文エラーがスローされます。開発者は、バージョンを更新するか、設定されたバージョンと互換性のある構文を使用できます。

student_gpas = {
    'Mary': 3.0,
    'Tim': 2.5,
    'John': 4.0
}
print(f'Mary has a {student_gpas["Mary"]} GPA.')
 
# returns SyntaxError: invalid syntax on older versions of Python

Pythonキーワードの不適切な使用

Pythonキーワードを不適切に使用しているかどうかを知る最良の方法は、それらのキーワードが何であり、Pythonで何に使用されているかを知ることです。一部のPythonキーワードの詳細については、「Python notキーワードの使用方法」、「Python Yieldキーワード:ガイド」、および「Pythonの位置引数がキーワード引数ソリューションの後に続く」の記事を参照してください。

以下のコードの構文エラーがスローされた理由を理解してください。

continue = True
 
print(continue)
 
# returns SyntaxError: invalid syntax

「キーワードに値を設定しているので」と答えれば正解です。 Continueは、ループの次の反復に続行するために使用されるPythonのキーワードです。上記の修正は、ブール値TrueをPythonキーワードではない変数名に設定することです。

on = True
 
print(on)
 
# returns True

  1. Python Exceptionsはランタイムエラーですか?

    すべてのPython例外は実行時エラーではなく、構文エラーもあります。 指定されたコードを実行すると、次の出力が得られます。 File "C:/Users/TutorialsPoint1/~.py", line 4 else: ^ SyntaxError: invalid syntax これは構文エラーであり、実行時エラーではないことがわかります。 プログラムのエラーや不正確さは、バグと呼ばれることがよくあります。エラーを見つけて削除するプロセスは、デバッグと呼ばれます。エラーは、次の3つの主要なグループに分類できます。 構文エラー2.ランタイムエラーおよび3.論理エ

  2. PythonでSyntaxError例外をキャッチする方法は?

    SyntaxErrorは、パーサーが理解できないソースコードを見つけるたびに発生します。これは、モジュールのインポート中、execの呼び出し中、またはeval()の呼び出し中に発生する可能性があります。例外の属性を使用して、入力テキストのどの部分が例外を引き起こしたかを正確に見つけることができます。 与えられたコードを書き直して例外を処理し、そのタイプを見つけます 例 try: print eval('six times seven') except SyntaxError, err: print 'Syntax error %s (%s-%s): %s' %