Python uses keywords and identifiers to create and organize programs. Keywords are predefined words that Python recognizes and reserves for specific purposes, while identifiers are names created by programmers to represent variables, functions, classes, and other objects.
Keywords
Keywords are predefined words that Python recognizes as part of its syntax. They are used to perform specific tasks, such as defining functions, controlling program flow, and handling exceptions.
- Written in lowercase, except True and False.
- Cannot be used as identifiers, variables, or function names.
- Python 3.11 has 35 keywords.
The keyword module provides:
- iskeyword(): checks if a string is a keyword.
- kwlist: returns the list of all keywords.
Rules for Keywords in Python
- Python keywords cannot be used as identifiers.
- All the keywords in Python should be in lowercase except True and False.
List of Python Keywords
| Category | Keywords |
|---|---|
Value Keywords | |
| Operator Keywords | and, or, not, is, in |
Control Flow Keywords | if, else, elif, for, while, break, continue, pass, try, except, finally, raise, assert |
| Function and Class | def, return, lambda, yield, class |
| Context Management | with, as |
| Import and Module | import, from |
| Scope and Namespace | global, nonlocal |
| Async Programming | async, await |
Getting List of all Python keywords
List of all the keyword names can be accessed using the below code:
import keyword
print(keyword.kwlist)
Output
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is',...
Identifiers
Identifiers are user-defined names used to identify and reference program elements such as variables, functions, classes, modules, and objects. They help programmers organize and access different components of a program and must follow Python's naming rules.
- Can include letters, digits, and underscores (_).
- Case-sensitive: num, Num, and NUM are different identifiers.
- Python provides str.isidentifier() to check if a string is a valid identifier.
Note: An identifier is a general name used for variables, functions, classes, and other objects in Python, whereas a variable is a specific type of identifier used to store data. Therefore, every variable is an identifier, but not every identifier is a variable.
Rules for Naming Python Identifiers
- It cannot be a reserved python keyword.
- It should not contain white space.
- It can be a combination of A-Z, a-z, 0-9, or underscore.
- It should start with an alphabet character or an underscore ( _ ).
- It should not contain any special character other than an underscore ( _ ).
Examples of Python Identifiers
Valid identifiers:
- var1
- _var1
- _1_var
- var_1
Invalid Identifiers
- !var1
- 1var
- 1_var
- var#1
- var 1
Python Keywords and Identifiers Examples
Example 1: Example of and, or, not, True, False keywords.
print("example of True, False, and, or, not keywords")
# compare two operands using and operator
print(True and True)
# compare two operands using or operator
print(True or False)
# use of not operator
print(not False)
Output
example of True, False, and, or, not keywords True True True
Example 2: Example of a break, continue keywords and identifier.
# execute for loop
for i in range(1, 11):
# print the value of i
print(i)
# check the value of i is less than 5
# if i lessthan 5 then continue loop
if i < 5:
continue
# if i greater than 5 then break loop
else:
break
Output
1 2 3 4 5
Example 3: example of for, in, if, elif, and else keywords.
# run for loop
for t in range(1, 5):
# print one of t ==1
if t == 1:
print('One')
# print two if t ==2
elif t == 2:
print('Two')
else:
print('else block execute')
Output
One Two else block execute else block execute
Example 4: def, if and else keywords.
# define GFG() function using def keyword
def GFG():
i=20
# check i is odd or not
# using if and else keyword
if(i % 2 == 0):
print("given number is even")
else:
print("given number is odd")
# call GFG() function
GFG()
Output
given number is even
Example 5: Example of try, except, raise.
def fun(num):
try:
r = 1.0/num
except:
print('Exception raises')
return
return r
print(fun(10))
print(fun(0))
Output
0.1 Exception raises None
Example 6: Example of a lambda keyword.
# define a anonymous using lambda keyword
# this lambda function increment the value of b
a = lambda b: b+1
# run a for loop
for i in range(1, 6):
print(a(i))
Output
2 3 4 5 6
Example 7: use of return keyword.
# define a function
def fun():
# declare a variable
a = 5
# return the value of a
return a
# call fun method and store
# it's return value in a variable
t = fun()
# print the value of t
print(t)
Output
5
Example 8: use of a del keyword.
# create a list
l = ['a', 'b', 'c', 'd', 'e']
# print list before using del keyword
print(l)
del l[2]
# print list after using del keyword
print(l)
Output
['a', 'b', 'c', 'd', 'e'] ['a', 'b', 'd', 'e']
Example 9: use of global keyword.
# declare a variable
gvar = 10
# create a function
def fun1():
# print the value of gvar
print(gvar)
# declare fun2()
def fun2():
# declare global value gvar
global gvar
gvar = 100
# call fun1()
fun1()
# call fun2()
fun2()
Output
10
Example 10: example of yield keyword.
def Generator():
for i in range(6):
yield i+1
t = Generator()
for i in t:
print(i)
Output
1 2 3 4 5 6
Example 11: Use of assert keyword.
def sumOfMoney(money):
assert len(money) != 0,"List is empty."
return sum(money)
money = []
print("sum of money:",sumOfMoney(money))
Output:
AssertionError: List is empty.Example 12: Use of pass keyword
class GFG:
pass
g = GFG
Example 13: Use of finally keyword
def divide(a, b):
try:
c = a/b
print("Inside try block")
except:
print("Inside Exception block")
finally:
print("Inside finally block")
divide(3,2)
divide(3,0)
Output
Inside try block Inside finally block Inside Exception block Inside finally block
Example 14: Use of import keyword
import math
print("factorial of 5 is :", math.factorial(5))
Output
factorial of 5 is : 120
Example 15: Use of "is" keyword
x = 10
y = 20
z = x
print(x is z)
print(x is y)
Output
True False
Example 16: Use of from keyword
from math import gcd
print("gcd of 345 and 675 is : ", gcd(345, 675))
Output
gcd of 345 and 675 is : 15
Example 17: Use of async and await keyword
# code
import asyncio
async def factorial(n):
if n == 0:
return 1
return n * await factorial(n - 1)
def main():
result = asyncio.run(factorial(5))
print(result)
if __name__ == "__main__":
main()
Output
120
Explanation:
- The async keyword is used to define an asynchronous function, allowing it to pause and resume execution without blocking the entire program.
- The await keyword pauses the execution of an asynchronous function until the awaited task is completed.
- When factorial(5) is called, it recursively calculates the factorial of 5 and returns the result.