Python の SyntaxError: Invalid Token を修正する
すべてのプログラミング言語には、エラーを回避するために従う必要がある言語構文と呼ばれる一連の規則と規制があります。 同様に、Python には、すべてのステートメント コンポーネントがトークンと呼ばれる構文があります。 これらのトークンは空白で区切られているため、Python コンパイラはそれを理解し、それに応じて動作します。
トークンと呼ばれる重要なコンポーネントは、変数名、キーワード、演算子、識別子、区切り記号、またはその他の組み込みまたはユーザー定義の機能です。
トークンとは何か、空白がどのようにトークンを区切るかを理解しましょう。
token_demo = 39
上記のコード行には、token_demo
、=
、および 39
を含む 3つの異なるトークンがあります。 これらのトークンはさらに空白で区切られているため、Python コンパイラはそれらを理解し、それに応じて動作します。
Python の SyntaxError: 無効なトークン
説明したように、すべてのプログラミング言語には、エラーを回避するために従わなければならないいくつかの構文規則があります。 同様に、トークンを無効に使用すると、Python コンパイラはエラーを示すエラー メッセージを表示します。
Python では、8 進数、2 進数、10 進数、16 進数はすべて 整数リテラル と見なされます。 8 進数のデータ型を調べたいとしましょう。 バイナリ、10 進数、および 16 進数のデータ型 int または同様に表示されます。
日付を DD,MM,YYYY
の形式のタプルとして保存するとします。
date = (04, 08, 2022)
print(date)
出力:
SyntaxError: invalid token
構文規則に違反しているため、これにより SyntaxError: invalid token
が返されます。 その理由は、16 進数または文字列として正しく定義しない限り、0
を任意の数値のプレフィックスとして使用することは許可されていないためです。
Python 2x では、数値が 8 進形式であるという特別な意味があるため、04
と 08
を使用できます。 しかし、その後の Python 3x では、この機能は削除されました。 現在、プレフィックスとしての 0
は意味を持ちません。
04,08
を 4,8
のような 1 桁の数字または文字列として定義し、文字列を型キャストしてそれに応じて操作することができます。
Python の SyntaxError: invalid token
を修正
Python 3x で SyntaxError: invalid token
を修正するには、トークンを文字列または 16 進数として適切に定義して、それに応じて操作することができます。 上記のコードでは、(04,08,2022)
が SyntaxError
をスローしていましたが、このエラーを克服する方法は複数あります。
トークンを文字列として定義することにより、例を通してそれを理解しましょう。
date = ("04", "08", "2022")
print(date)
出力:
('04', '08', '2022')
日付形式を文字列として定義することで、無効なトークン
エラーが解決されました。 希望の形式で日付を取得しました。
より便利でわかりやすいものにするために、このシナリオで辞書を使用して Python の SyntaxError: invalid token
を修正できます。
date = {"Day": "04", "Month": "08", "Year": "2022"}
for i, j in date.items():
print(i, "\t", j)
出力:
Day 04
Month 08
Year 2022
ディクショナリは、キーと値を含むデータを格納および提示するために常に便利です。
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません