Pythonで特定の単語がキーワード(予約語)かどうかを判定する方法
この記事では、指定した単語がPythonのキーワード(予約語)であるかどうかを判定する方法を解説します。判定には、Pythonの標準ライブラリ「keyword」が提供する iskeyword() 関数を使用します。
iskeyword() 関数は、引数に渡した文字列がPythonの予約語であれば True を、そうでなければ False を返します。そのため、条件分岐と組み合わせることで、簡単にキーワードの判定処理を実装できます。
アルゴリズム
ステップ1: keywordモジュールをインポートする。 ステップ2: 指定された文字列がキーワードかどうかを iskeyword() で確認する。
サンプルコード
import keyword
words = ["city", "music", "in", "if"]
for word in words:
if keyword.iskeyword(word):
print("{} はキーワードです".format(word))
else:
print("{} はキーワードではありません".format(word))実行結果
city はキーワードではありません music はキーワードではありません in はキーワードです if はキーワードです
補足:すべてのキーワード一覧を取得する
keyword モジュールには、現在のPythonバージョンで使用できるすべてのキーワードをリスト形式で取得できる kwlist も用意されています。次のようにすると、全キーワードを一括して確認できます。
import keyword print(keyword.kwlist)
このように keyword モジュールを活用すれば、変数名や識別子として使おうとした名前が予約語と衝突していないかをプログラム的にチェックでき、構文エラーの未然防止に役立ちます。
-
Pythonで与えられた数値がフィボナッチ数かどうかを判定する方法
本記事では、与えられた数値がフィボナッチ数であるかどうかを判定する問題の解決策について解説します。 問題の定義 ある数値 n が与えられたとき、その数値がフィボナッチ数であるかどうかを判定します。 第 n 項のフィボナッチ数は、直前の2つのフィボナッチ数の和として定義されることは広く知られています。しかし、フィボナッチ数列には漸化式以外にも興味深い数学的性質があります。 フィボナッチ数の判定条件 ある数値 n がフィボナッチ数であるのは、「5×n² + 4」または「5×n² − 4」のいずれかが完全平方数であるとき、かつそのときに限る この性質を利用すれば、フィボナッチ数列を実際に生成しなくて
-
【Python】与えられた数がフィボナッチ数かどうかを判定する方法を解説
本記事では、以下の問題文に対する解決策について詳しく学んでいきます。 問題の定義 数値 n が与えられたとき、その数がフィボナッチ数であるかどうかを判定します。 ご存知のとおり、n番目のフィボナッチ数は「直前の2つのフィボナッチ数の和」として定義されます。しかし、この漸化式以外にも、フィボナッチ数には興味深い数学的な性質が存在します。 フィボナッチ数の判定に使える重要な性質 ある数 n がフィボナッチ数であるのは、次の条件が成り立つ場合、かつその場合に限られます。 5×n² + 4 が完全平方数である または 5×n² − 4 が完全平方数である つまり、上記のどちらか一方(または両方)が