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 as import 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.