Python Importing Modules

In Python, modules are a way to organize and reuse code. Importing modules allows you to access a module’s functions, classes, and variables in your program. In this tutorial, we’ll learn how to import built-in modules, import specific functions or classes, and even create and use custom modules.

1. What is a Python Module?

A Python module is a file with a .py extension that contains Python code—such as functions, classes, and variables. Modules allow you to logically organize your Python programs and reuse code across different programs.

2. Importing a Python Module

To use the functions and variables in a module, you need to import it. The most basic way to import a module is by using the import statement:

Example: Importing a Built-in Module

import math

result = math.sqrt(16)
print(result)

Try It Now

Here, we import the math module and use its sqrt() function to calculate the square root of 16.

3. Importing Specific Functions or Classes from a Module

If you only need specific functions or classes from a module, you can import them directly using the from keyword. This avoids the need to reference the module name every time you call a function or class.

Example: Importing Specific Functions

from math import sqrt

result = sqrt(16)
print(result)

Try It Now

Here, we import the sqrt() function directly from the math module, so we don’t need to reference math.sqrt() each time.

4. Renaming a Module on Import

You can rename a module when importing it using the as keyword. This is especially useful when dealing with long module names or to avoid name conflicts.

Example: Renaming a Module

import math as m

result = m.sqrt(16)
print(result)

Try It Now

In this example, we import the math module and rename it as m. Now we can reference the module with the shorter name m.

5. Importing All Functions from a Module

Another way to import a module is by importing everything from the module. This allows you to directly access all functions, classes, and variables without needing to reference the module name.

Example: Importing All Functions

from math import *

result = sqrt(16)
print(result)

Try It Now

Here, we import everything from the math module, so we can use the sqrt() function directly without referencing math.sqrt().

6. Importing from a Custom Module

In addition to built-in modules, you can also create your own custom modules. A custom module is just a Python file containing functions or classes that you want to reuse in other scripts.

Example: Creating a Custom Module

# my_module.py
def add(a, b):
    return a + b

Try It Now

Now, you can import and use the add() function from your custom module in another Python file.

Example: Using a Custom Module

import my_module

result = my_module.add(5, 3)
print(result)

Try It Now

In this example, we import the my_module module and call the add() function defined inside it.

7. Importing from a Module in a Different Directory

If your module is located in a different directory, you can specify its path using the sys.path variable or by modifying the PYTHONPATH environment variable.

Example: Importing from a Different Directory

import sys
sys.path.append('/path/to/your/module/directory')

import my_module

Try It Now

In this example, we add the directory containing our custom module to the system path, allowing us to import the module from that location.

Conclusion

Importing modules is a powerful way to organize and reuse code in Python. You can import built-in modules, specific functions or classes, and even your custom modules to make your programs more modular and efficient.