Back to Python
2026-02-275 min read

Python import with Renaming

Learn Python import with Renaming step by step with clear examples and exercises.

Title: Mastering Modular Programming in Python - Import with Renaming

Why This Matters

In large projects, organizing code into separate modules is essential for manageability and reusability. However, sometimes you might need to import a specific function or variable from another module without affecting the rest of your code. Python allows you to do this by renaming imported items. Understanding how to use this feature will help you avoid naming conflicts, write cleaner code, and make debugging easier.

Prerequisites

  • A basic understanding of Python syntax and data structures (variables, functions, modules)
  • Familiarity with the concept of importing modules in Python
  • Knowledge on how to create your own Python modules

Creating a Module

Before diving into renaming imported items, let's quickly review how to create a Python module. You can save a file with any name (e.g., my_module.py) and write your code inside it. To use the functions or variables defined in this module, you need to import it using the import keyword.

my_module.py

def greet():

print("Hello, World!")

greet() # This will work when the script is run as a standalone file

main.py

import my_module

my_module.greet() # This will call the greet function from my_module

Core Concept

Importing Modules

In Python, you can import an entire module using the import keyword followed by the module name. For example:

import math
print(math.sqrt(16)) # Output: 4.0

Renaming Imported Items

If you want to import a specific function or variable from another module without using its full name, you can rename it during the import process. This is done by adding an as keyword followed by the desired name. Here's an example:

import math as m # Importing math module and renaming it as 'm'
print(m.sqrt(16)) # Output: 4.0

In this example, we imported the math module and renamed it to m. Now, instead of using math.sqrt(), we can simply call m.sqrt().

Importing Specific Items

You can also import specific functions or variables from a module without importing the entire module. This is done by using the dot notation with the module name and specifying the function or variable you want to import. Here's an example:

from math import sqrt # Importing only the sqrt function from the math module
print(sqrt(16)) # Output: 4.0

In this example, we imported only the sqrt() function from the math module without importing the entire module.

Renaming Specific Items

If you want to rename a specific function or variable during the import process, you can do so by using the as keyword. Here's an example:

from math import sqrt as my_sqrt # Importing the sqrt function and renaming it as 'my_sqrt'
print(my_sqrt(16)) # Output: 4.0

In this example, we imported the sqrt() function from the math module and renamed it to my_sqrt. Now, instead of using math.sqrt(), we can simply call my_sqrt().

Importing Multiple Items

You can import multiple functions or variables from a module by listing them separated by commas:

from math import sqrt, pi # Importing both sqrt and pi functions from the math module
print(sqrt(16)) # Output: 4.0
print(pi) # Output: 3.141592653589793

Worked Example

Let's say you have a file named utilities.py with the following content:

def area_circle(radius):
return 3.14 * radius ** 2

def area_rectangle(length, width):
return length * width

To use these functions in another script without naming conflicts, you can import them with renaming:

from utilities import area_circle as circle_area, area_rectangle as rectangle_area

radius = 5
length = 6
width = 4

print("Circle Area:", circle_area(radius))
print("Rectangle Area:", rectangle_area(length, width))

Common Mistakes

  1. Forgetting to use the as keyword when renaming imported items:
from math import sqrt # This will result in a NameError because sqrt is not defined
print(sqrt(16))
  1. Renaming a module without understanding the implications:
import math as m
math.pi # This will still refer to the original math.pi, not m.pi
  1. Using the wrong syntax for importing specific items with renaming:
from math as m import sqrt # Incorrect syntax; should be 'from math import sqrt as my_sqrt'
print(my_sqrt(16)) # This will result in a NameError because my_sqrt is not defined
  1. Trying to rename built-in functions or constants:
from math import pi as my_pi # This will result in a TypeError because you cannot rename built-in constants
print(my_pi)

Practice Questions

  1. Write a script that imports the sin() function from the math module and renames it to my_sin. Use the new function to calculate the sine of 30 degrees (π/6 radians).
  2. Given the following functions in a file named calculations.py, write a script that imports the add() function and renames it to sum. Use the new function to add two numbers without using the original + operator.
def add(a, b):
return a + b

def subtract(a, b):
return a - b

FAQ

  1. Why should I rename imported items?
  • Renaming imported items can help avoid naming conflicts with other variables or functions in your code. It also makes the code more readable and easier to understand.
  1. Can I rename an entire module when importing it?
  • No, you cannot rename an entire module using the as keyword. However, you can create an alias for a module by assigning its name to another variable:
import math as m
math_module = m
math_module.pi # This will give you access to the original math module
  1. What happens if I try to rename an item that is not a function or variable?
  • If you try to rename something other than a function or variable (e.g., a class, exception, or built-in constant), Python will raise a TypeError.
  1. Is it possible to import all functions from a module with renaming?
  • Yes, you can import all functions from a module and rename them using the from ... import * syntax. However, this should be used with caution because it may lead to naming conflicts if there are variables or functions with the same names in your current script.
  1. What is the difference between import and from ... import?
  • The import statement imports an entire module, while from ... import allows you to selectively import specific functions or variables from a module. The latter can be useful for avoiding naming conflicts and improving code readability.
Python import with Renaming | Python | XQA Learn