1. Home
python

Python Tutorials - Elevate Your Coding Skills with Comprehensive Tutorials

Discover Python tutorials covering everything from the basics to advanced topics. Whether you're new to programming or looking to level up your skills, our tutorials will guide you every step of the way

  • 201 Lessons
  • 33 Hours
right-top-arrow

Tutorial Playlist

200 Lessons
138

Python Keywords and Identifiers

Updated on 22/05/20243,484 Views

Introduction

Diving into the profound depths of Python programming, we often come across terminologies that set the foundation for the language. Among these, keywords and identifiers play an integral role in shaping the way we perceive and utilize Python.

In this tutorial, we'll embark on an illuminating journey to explore these cornerstones, unveiling their significance, characteristics, and application. While keywords anchor the language with predefined, unalterable terms, identifiers offer the flexibility to name variables, functions, and more. Together, Python keywords and identifiers are indispensable for any Python programmer aiming for mastery and precision.

Overview

At the heart of Python's intuitive syntax lie its keywords, a set of reserved words that drive the core functionality of the programming language. Each keyword is like a specialized tool, intricately designed for specific tasks, ensuring the language remains structured yet versatile. On the other side, we have identifiers, which bestow us with the freedom to define our constructs, be it naming a variable that stores data or a function that performs a sequence of operations. In this tutorial, we will offer a glimpse into the vast universe of Python keywords and identifiers, preparing you for the basics of programming.

What are Keywords in Python?

In the vast landscape of programming languages, Python stands out with its clear syntax and concise code. A pivotal element contributing to this clarity is Python's keywords. As we delve deeper into understanding these, it becomes evident that keywords are more than just reserved words; they are the foundational pillars that uphold the language's structure.

Every programming language possesses its own set of reserved words, and Python is no different. These keywords have predefined meanings and serve specific functions, ensuring that developers have a standardized way of executing particular operations. What sets Python apart, however, is the intuitive nature of its keywords, making it easy for both beginners and seasoned programmers to adopt.

Categories of Python Keywords:

  1. Control Flow Keywords: Central to any program is its logical structure. Python's control flow keywords like if, else, and elif provide developers the tools to guide the flow of execution. With these, one can design conditions that dictate the code's direction.
  2. Loop Keywords: Repetition is a common necessity in coding. For tasks that require iterative processes, loop keywords such as for, while, and break come into play. They make tasks like traversing through lists or breaking out of loops straightforward.
  3. Exception Handling Keywords: In the real world, errors and unexpected events are inevitable. Similarly, while coding, one must anticipate errors. Python's try, except, and finally keywords allow coders to handle exceptions gracefully, ensuring that the program can continue running or fail elegantly.
  4. Class and Function Keywords: Object-oriented programming (OOP) is at the heart of Python, and keywords like def, class, and return lay the foundation. They enable coders to define functions and classes, encapsulate data, and facilitate modularity.

Unique Features of Python Keywords:

  • Immutability: One of the cornerstones of Python keywords is their immutability. This means that these keywords retain their identity and can't be overwritten, ensuring the integrity of the language.
  • Case Sensitivity: Precision is crucial in Python. Hence, its keywords are case-sensitive. A common beginner mistake might be writing 'For' instead of 'for', which would result in an error, underscoring the importance of accuracy in syntax.

Keyword Category

Representative Examples

Core Functionality

Control Flow

if, else

Steer program logic

Loop

for, while

Drive iteration

Exception Handling

try, except

Address code exceptions

Class/Function

def, class

Frame functions & classes

List of Python Keywords

In Python, keywords are reserved words that have special meanings and purposes in the language. These words cannot be used as identifiers (variable names, function names, etc.) because they are already assigned specific roles within the language. Here is a list of Python keywords:

It's important to note that Python keywords are case-sensitive, which means that if is a keyword, but IF or If are not. Additionally, keep in mind that these keywords cannot be used as variable names, function names, or any other identifiers within your code.

For the most up-to-date and accurate list of Python keywords, you can refer to the official Python documentation or use the keyword module in Python:

Code:

import keyword
print(keyword.kwlist)

Example:

# Defining a function using the "def" keyword
def greet(name):
    print("Hello,", name)
# Using the "if" and "else" keywords to perform conditional branching
def check_age(age):
    if age < 18:
        print("You are a minor.")
    else:
        print("You are an adult.")
# Using the "for" keyword to iterate through a list
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
# Using the "while" keyword for a loop with a condition
count = 0
while count < 5:
    print("Count:", count)
    count += 1
# Using the "return" keyword to return a value from a function
def add(a, b):
    return a + b
# Using the "import" keyword to import a module
import math
print("Square root of 16:", math.sqrt(16))
# Using the "try", "except", and "finally" keywords for exception handling
try:
    result = 10 / 0
except ZeroDivisionError:
    print("Cannot divide by zero")
finally:
    print("Exception handling complete")
# Using the "and" and "or" keywords for logical operations
x = True
y = False
print("x and y:", x and y)
print("x or y:", x or y)

Explanation:

# Using the "if" and "else" keywords to perform conditional branching
def check_age(age):
    if age < 18:
        print("You are a minor.")
    else:
        print("You are an adult.")

In this section, you've defined a function check_age that takes an age parameter. The function uses the if keyword to perform a conditional check. If the age is less than 18, it prints "You are a minor." Otherwise, it prints "You are an adult."

# Using the "for" keyword to iterate through a list
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

Here, you've created a list of fruits and then used the for keyword to iterate through each fruit in the list. The variable fruit takes on each value in the fruits list, and the loop prints each fruit's name.

# Using the "while" keyword for a loop with a condition
count = 0
while count < 5:
    print("Count:", count)
    count += 1

This code block demonstrates a while loop. It initializes a count variable to 0 and then enters a loop that prints the current value of count and increments it by 1. The loop continues as long as the count is less than 5.

# Using the "return" keyword to return a value from a function
def add(a, b):
    return a + b

Here, you've defined a function add that takes two parameters a and b. The function returns the sum of a and b using the return keyword.

# Using the "import" keyword to import a module
import math
print("Square root of 16:", math.sqrt(16))

This code demonstrates the use of the import keyword. It imports the math module and then uses the math.sqrt() function to calculate and print the square root of 16.

# Using the "try", "except", and "finally" keywords for exception handling
try:
    result = 10 / 0
except ZeroDivisionError:
    print("Cannot divide by zero")
finally:
    print("Exception handling complete")

This section uses the try, except, and finally keywords for exception handling. It attempts to perform a division by zero, which would raise a ZeroDivisionError exception. The except block catches the exception and prints an error message. The finally block always runs, whether an exception occurred or not.

# Using the "and" and "or" keywords for logical operations
x = True
y = False
print("x and y:", x and y)
print("x or y:", x or y)

Lastly, you're using the and and or keywords to perform logical operations. The code prints the result of the logical AND and logical OR operations between the boolean values x and y.

Essential Rules for Using Keywords in Python

  • We cannot use Python keywords as identifiers.
  • All the keywords in Python must be in lowercase except True and False.

Code:

print("example of True, False, and, or, not keywords")
print(True and True)
print(True or False)
print(not False)

What are Identifiers in Python?

In Python, identifiers are names given to various programming elements such as variables, classes, modules, functions, etc. These names are used to uniquely identify these elements in your code. Here are the rules for creating valid identifiers in Python:

  • They must start with a letter (a-z, A-Z) or an underscore (_).
  • The subsequent characters can be letters, digits (0-9), or underscores.
  • Identifiers are case-sensitive, meaning myVariable and myvariable are considered different identifiers.

Here are some examples of valid identifiers in Python:

variable_name = 42
_total = 100
myFunction = lambda x: x * 2
MyClass = MyClassDefinition()

And here are some examples of invalid identifiers:

3var = "Invalid"  # Identifier can't start with a digit
my-variable = 10  # Hyphens are not allowed in identifiers
class = "Class"   # 'class' is a keyword and cannot be used as an identifier

Remember that using descriptive and meaningful names for your identifiers is important for code readability and maintainability.

It's worth noting that while underscores at the beginning of identifiers have no special meaning in terms of the Python language itself, a common convention is to use a single underscore at the beginning of an identifier to indicate that it's intended to be a "private" or "internal" variable, function, or method within a class or module. For example:

_internal_variable = 42

Code:

for j in range(1, 10):
print(j)
if j < 4:
continue
else:
break

The Essential Rules for Naming Python Identifiers

Here are the rules for naming valid identifiers in Python:

  • Character Set: Identifiers can only contain letters (a-z, A-Z), digits (0-9), and underscores (_). They cannot start with a digit. They must start with a letter (a-z, A-Z) or an underscore (_).
  • Case Sensitivity: Identifiers are case-sensitive. This means that myVariable, myvariable, and MyVariable are considered different identifiers.
  • Keywords: Identifiers cannot be the same as Python keywords. Keywords are reserved words in Python and have specific meanings in the language.
  • Length: Identifiers can be of any length. However, it's a good practice to keep them meaningful and reasonably short.
  • Special Identifiers: Identifiers with a double underscore prefix and suffix (__identifier__) are reserved for special methods and attributes in Python (often referred to as "magic methods").
  • Conventions: PEP 8, the Python style guide, recommends using lowercase letters for variable and function names, separated by underscores (snake_case). Class names should be in CamelCase (starting with an uppercase letter).

Here are some examples of valid and invalid identifiers based on these rules:

Valid Identifiers:

variable_name = 42
_total = 100
my_function = lambda x: x * 2
MyClass = MyClassDefinition()

Invalid Identifiers:

3var = "Invalid"  # Starts with a digit
my-variable = 10  # Contains hyphen
class = "Class"   # Same as a keyword

Code:

for i in range(1,7):
if i == 1:
print('One')
elif i == 2:
print('Two')
else:
print('else block execute')

Examples of Identifiers and Keywords in Python

Code:

def upGrad():
p=20
if(p % 2 == 0):
print("given number is even")
else:
print("given number is odd")
upGrad()

Conclusion

Having navigated through the intricate nuances of Python's keywords and identifiers, we now appreciate their pivotal role in shaping our programming journey. Their synergy balances the language, with keywords providing the foundational rigidity and identifiers infusing dynamism.

As we continue to evolve in our Python journey, understanding such elements becomes instrumental in writing efficient, clean, and optimized code. However, the road to mastering Python doesn't end here. The realm of programming is vast and ever-evolving. For those enthusiastic professionals who resonate with a hunger for knowledge, upGrad offers a multitude of upskilling courses. Dive deeper, explore further, and let your coding journey flourish with upGrad.

FAQs

1. What are keywords in Python?

Keywords in Python are reserved words with specific functions and meanings, essential in determining the structure of the language.

2. What is the difference between keywords and identifiers in Python?

While keywords are reserved words with predefined meanings, identifiers are user-defined names given to entities like variables and functions.

3. All keywords in Python are in which case?

All keywords in Python are in lowercase, emphasizing the language’s case sensitivity.

4. How are identifiers in Python chosen?

Identifiers are user-defined and should be chosen descriptively, avoiding any conflict with existing keywords.

5. Why is understanding keywords essential for advanced Python programming?

Grasping keywords ensures streamlined coding, as these words help structure the language, facilitating the creation of efficient programs.

Pavan

PAVAN VADAPALLI

Director of Engineering

Director of Engineering @ upGrad. Motivated to leverage technology to solve problems. Seasoned leader for startups and fast moving orgs. Working … Read More

Get Free Career Counselling
form image
+91
*
By clicking, I accept theT&Cand
Privacy Policy
image
Join 10M+ Learners & Transform Your Career
Learn on a personalised AI-powered platform that offers best-in-class content, live sessions & mentorship from leading industry experts.
right-top-arrowleft-top-arrow

upGrad Learner Support

Talk to our experts. We’re available 24/7.

text

Indian Nationals

1800 210 2020

text

Foreign Nationals

+918045604032

Disclaimer

upGrad does not grant credit; credits are granted, accepted or transferred at the sole discretion of the relevant educational institution offering the diploma or degree. We advise you to enquire further regarding the suitability of this program for your academic, professional requirements and job prospects before enr...