Python import statement enables the user to import particular modules in the corresponding program.
It resembles the #include header_file in C/C++.
As soon as the interpreter encounters the import statement in a particular code, it searches for the same in the local scope and imports the module, if present in the search path.
It searches for a particular module in its built-in modules section at first. If it’s not found, it searches those modules in its current directory.
A module is loaded only once in a particular program, without being affected by the number of times the module is imported.
Syntax:
import module_name
Example:
import collections
|
1. Importing class/functions from a module
We can import classes/functions from a module using the syntax:
from {module} import {class/function}
Example:
from collections import OrderedDict
from os import path
from math import pi
print(pi)
|
Output:
3.141592653589793
2. The import * Statement
All the methods and constants of a particular module can be imported using import * operator.
from math import *
print(pi)
print(floor(3.15))
|
Output:
3.141592653589793
3
3. Python’s import as Statement
The import as statement helps the user provide an alias name to the original module name.
# python import asimport math as M
print(M.pi)
print(M.floor(3.18))
|
Output:
3.141592653589793
3
4. Importing user-defined modules
We can import the functions of one program into another using its name.
Initially, we need to create a python code.
test.py
def sub(a, b):
return int(a) - int(b)
def lower_case(str1):
return str(str1).lower()
|
Then create another python script, wherein we need to import the above create test.py script.
test2.py
import test
print(test.sub(5,4))
print(test.lower_case('SafA'))
|
Output:
1
safa
5. Importing from another directory
The importlib library is used to import a script from another directory.
Initially, we need to create a python script and define functions in it.
test1.py
def sub(a, b):
return int(a) - int(b)
def lower_case(str1):
return str(str1).lower()
|
Then, we will create another python script and save it into another directory and then import the functionalities from test1.py (which resides into another directory).
design.py
import importlib, importlib.util
def module_directory(name_module, path):
P = importlib.util.spec_from_file_location(name_module, path)
import_module = importlib.util.module_from_spec(P)
P.loader.exec_module(import_module)
return import_module
result = module_directory("result", "../inspect_module/test1.py")
print(result.sub(3,2))
print(result.lower_case('SaFa'))
|
Output:
1
safa
Another alternative way is to add the module directory to the sys.path list.
6. Importing class from another file
tests.py
class Employee:
designation = ""
def __init__(self, result):
self.designation = result
def show_designation(self):
print(self.designation)
class Details(Employee):
id = 0
def __init__(self, ID, name):
Employee.__init__(self, name)
self.id = name
def get_Id(self):
return self.id
|
design.py
import importlib, importlib.util
def module_directory(name_module, path):
P = importlib.util.spec_from_file_location(name_module, path)
import_module = importlib.util.module_from_spec(P)
P.loader.exec_module(import_module)
return import_module
result = module_directory("result", "../Hello/tests.py")
a = result.Employee('Project Manager')
a.show_designation()x = result.Details(4001,'Safa')
x.show_designation()print(x.get_Id())
|
Output:
Project Manager
Safa
Safa
Conclusion
Thus, in this article, we have understood the functionalities offered by the import statement.