DEV Community

loading...

python keyword arguments

oladejo abdullahi
I am web developer and data scientist
・2 min read

How to check if a string is a valid keyword in Python?

What is keyword?

A keyword is a “reserved word” by the language which convey a special meaning to the interpreter. It may be a command or a parameter. it is a word that cannot be used as a variable name, function names, or any other identifiers in the program .

what are python keywords?

Python keywords are some words that convey special meaning. Examples of keywords registered by python are as follow:

continue, import, while, def, in, with,
del, is, yield, False, elif, lambda,
None, else, nonlocal, True, except, not,
and, finally, or,as, for, pass, assert,
from, raise, break, global, return,
class, if, try.

How do we check if a string is keyword?

in python there is an inbuilt module keyword which handles certain operations related to keywords. there is a function too iskeyword() which is used to check if a string is keyword or not. Returns true if a string is keyword, else returns false.
let's try to write a code that tell us if our string is a keyword or not.

Example

# we need to import "keyword" for keyword operations 
import keyword  
# state the list of all string we want to test
str_test = ["in", "while", "loop", "break", "evening", 
"elif", "assert", "maxwizard", "lambda", "else", "map"] 

for i in range(len(str_test)): 
     # checking which are keywords 
    if keyword.iskeyword(str_test[i]): 
        print(str_test[i] + " is python keyword") 
    else: # if it is false then write
        print(str_test[i] + " is not a python keyword") 
Enter fullscreen mode Exit fullscreen mode

OUTPUT:

in is python keyword
while is python keyword
loop is not a python keyword
break is python keyword
evening is not a python keyword
elif is python keyword
assert is python keyword
maxwizard is not a python keyword
lambda is python keyword
else is python keyword
map is not a python keyword
Enter fullscreen mode Exit fullscreen mode

But what if you are working how will you make sure you don't use all this keywords as variable? well it might be a difficult task to remember all while assigning variable names. Hence a function kwlist() is provided in “keyword” module which prints all the 33 python keywords for you here is how to print it below.
Example2

#Python code on how iskeyword() works

# importing "keyword" for keyword operations 
import keyword 
# printing all keywords at once using "kwlist()" 
print ("The list of keywords is below : ") 
print (keyword.kwlist) 
Enter fullscreen mode Exit fullscreen mode

Output:

The list of keywords is : 
['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']
Enter fullscreen mode Exit fullscreen mode

Notice that kwlist will return the list of all 33 keywords in python.

Discussion (0)

Forem Open with the Forem app