Open In App

Python program to check if a given string is Keyword or not

Last Updated : 30 Dec, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Given a string, write a Python program that checks if the given string is keyword or not.

  • Keywords are reserved words which cannot be used as variable names.
  • There are 33 keywords in Python programming language.(in python 3.6.2 version)

Examples:

Input: str = "geeks"
Output: geeks is not a keyword

Input: str = "for"
Output: for is a keyword

We can always get the list of keywords in the current Python version using kwlist method in keyword module. 

Python3




# import keyword library
import keyword
 
keyword_list = keyword.kwlist
print("No. of keywords present in current version :",
                                   len(keyword_list))
 
print(keyword_list)


Output:

No. of keywords present in current version : 33 [‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

Below is the Python code to check if a given string is Keyword or not: 

Python3




# include keyword library in this program
import keyword
 
# Function to check whether the given
# string is a keyword or not
def isKeyword(word) :
 
    # kwlist attribute of keyword
    # library return list of keywords
    # present in current version of
    # python language.
    keyword_list = keyword.kwlist
 
    # check word in present in
    # keyword_list or not.
    if word in keyword_list :
        return "Yes"
    else :
        return "No"
 
 
# Driver Code
if __name__ == "__main__" :
 
    print(isKeyword("geeks"))
    print(isKeyword("for"))


Output:

No
Yes

Using built-in iskeyword() function:

The keyword module is a built-in module in Python that provides tools for working with keywords. It has a function called iskeyword() which takes a string as an argument and returns True if the string is a keyword in Python, and False if it is not.

In this code, we are using the iskeyword() function to check whether the strings “geeks” and “for” are keywords in Python. The first call to iskeyword() will return False because “geeks” is not a keyword, and the second call will return True because “for” is a keyword.

The time complexity of this code is O(1) because the iskeyword() function is a constant-time operation. The space complexity is also O(1) because we are only storing a single string in memory.

Python3




import keyword
  # use the built-in keyword module to check if the given word is a keyword
print(keyword.iskeyword("geeks"))
print(keyword.iskeyword("for"))
#This code is contributed by Edula Vinay Kumar Reddy


Output

False
True


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads