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

指定された文字列がキーワードであるかどうかを確認するPythonプログラム

この記事では、指定された文字列がPythonのキーワード(予約語)であるかどうかを判定する方法について解説します。

問題の概要

与えられた文字列が、Pythonにおけるキーワードであるかどうかを確認する必要があります。キーワードとは、言語によって特別な用途のために予約されている単語であり、変数名や関数名などの識別子として使用することはできません。

例えば「if」「for」「while」「def」などはすべてキーワードです。これらの名前を変数に使おうとすると、構文エラーが発生します。

解決策:keywordモジュールの活用

Pythonには標準ライブラリとしてkeywordモジュールが用意されており、これを使うことで簡単にキーワードの判定を行えます。

keywordモジュールのkwlist属性には、現在のPythonバージョンで定義されているすべてのキーワードがリスト形式で格納されています。このリストに対象の文字列が含まれているかどうかを確認すればよいのです。

サンプルコード

# keywordモジュールをインポート
import keyword

# 判定用の関数
def isKeyword(word):
    # すべてのキーワードのリストを取得
    keyword_list = keyword.kwlist
    # リスト内に存在するかチェック
    if word in keyword_list:
        return "Yes"
    else:
        return "No"

# メイン処理
if __name__ == "__main__":
    print(isKeyword("tut"))
    print(isKeyword("or"))

実行結果

No
Yes

「tut」はキーワードではないため「No」が返され、「or」は論理演算子として予約されたキーワードであるため「Yes」が返されます。

補足:iskeyword()関数を使う方法

keywordモジュールにはiskeyword()という便利な関数も用意されています。こちらを使えば、リストとの照合を自分で行う必要がなく、より簡潔に記述できます。

import keyword

print(keyword.iskeyword("or"))   # True
print(keyword.iskeyword("tut"))  # False

まとめ

この記事では、keywordモジュールを使用して、指定された文字列がPythonのキーワードであるかどうかを確認する方法を学びました。kwlistで全キーワードの一覧を取得して照合する方法と、iskeyword()関数で直接判定する方法の2つがありますので、用途に応じて使い分けるとよいでしょう。

  1. 文字列が空かどうかをチェックするPythonプログラム

    この記事では、与えられた文字列が空であるかどうかを判定するための解決策とアプローチについて解説します。 問題文 文字列が入力として与えられたとき、その文字列が空(空文字列)であるかどうかを判定する必要があります。 Pythonの文字列はイミュータブル(変更不可)な性質を持っているため、文字列に対して何らかの操作を行う際には注意して扱う必要があります。 ここでは、上記の問題を解決するための2つのアプローチを紹介します。 len()メソッドを使用する方法 等価演算子(==)を使用する方法 アプローチ1:len()メソッドを使う方法 len()関数で文字列の長さを取得し、その長さが0であれば空文

  2. Pythonで文字列がパングラムかどうかを判定するプログラムの作成方法

    本記事では、与えられた文字列がパングラムであるかどうかを判定するPythonプログラムの解法とアプローチについて詳しく解説します。 問題の概要 文字列入力が与えられたとき、その文字列がパングラムであるかどうかを判定するPythonプログラムを作成します。 パングラムとは? パングラムとは、英語のアルファベット26文字すべてを少なくとも1回ずつ含む文章や一連の単語のことです。有名な例として「The quick brown fox jumps over the lazy dog」があります。 解法のアプローチ この問題は、以下の手順で解くことができます。 アルファベット全体を表す基準となる文字列