What is a Module?
A module is basically a python file that is used to store python codes. This file can have a number of definitions such as variables, functions and classes so that the defined elements can be used by other programs. Splitting the program into smaller components and creating such modules will help to keep the program neat so that each component will manage only a specific set of definitions.To be more precise, any file that has been saved with the .py extension is a module. A module's primary objective is to make it possible to set some functionalities that can be imported into other python programs without having to write them out again. This helps in code duplication and also prevents redundancy in a program.
For instance if you have created a module entitled math_operations.py which includes many functions designed to fulfill different math tasks, this module can be imported to other programs and used instead of creating a tedious code again.
Consider this as the most simple example of a module:
Math Operations Module Example
def add(a, b):
return a + b;
def subtract(a, b):
return a - b;
Main Program Example
import math_operations
result = math_operations.add(5, 3)
print(result) Output: 8
Importing Modules
There are many ways to import modules in Python. Import only a whole module, or particular functions or classes from it.1. Importing the whole module: You say a module contains many variables and functions, including their definitions. Hence you do not have to redefine or call any function from the module.
Module Import Example
import math_operations
result = math_operations.subtract(10, 5)
Specific Function Import Example
from math_operations import add
result = add(3, 4)
Alias Import Example
import math_operations as math_ops
result = math_ops.add(7, 8)
What is a Library?
A library is a set of related modules that implement a certain functionality. Without the need to implement those yourself, libraries make it easy to add complex and advanced operations into your programs. Libraries may be created by third parties or by the python community, they are often used to enhance features of the python.For instance, the Python standard library, as the name suggests, is a free collection of modules that are included with Python such as those used for network communication, math, or file handling. As libraries are usually delivered as a set of modules, it is made very simple to carry out many tasks.
For that, you may need to import only those libraries, their modules or their functions. Python has thousands of libraries that might assist you in nearly every aspect of your work with data, in web or application development, machine learning, or even in graphics.
The standard library in Python
In Python, such a version exists and it is called the standard library. It is composed of a series of modules that cover a broad scope of tasks such as:- Handling files and file systems using `os` and `shutil`
- Performing operations involving math through `math` and `maths`
- Employing instances of dates and time and time through `datetime` and `time`
- Managing multiple communications through computer networks using `socket` and `requests`
- Finding strings that conform to a pattern with the use of `re`
Installing the standard library is perhaps one of the gains of'such a package as it is packaged together with python. This means when you install python, these modules are automatically available without the need to download and install additional packages.
In working with time and dates for instance, you will utilize the `datetime` module such as shown in the following example.
DateTime Module Example
import datetime
current_time = datetime.datetime.now()
print(current_time)
Third-Party Libraries
Python is not limited only to its standard libraries; there also exists a whole range of third-party libraries. These libraries are developed either by the community or organizations to extend the default features offered by the core library.The installation of these libraries can easily be carried out through the Python package manager `pip`. For instance, for the case of requesting an internet resource in a more sophisticated manner, the third party library `requests` can be installed via the command below:
Package Installation Example
pip install requests
Requests Module Example
import requests
response = requests.get("https://www.example.com")
print(response.text)
Prominent examples of third-party libraries:
- NumPy is a widely used library for precise numerical computation and array operations- Pandas is effective in data analysis and data set manipulation and extraction
- Matplotlib has a strong focus on data representation through various charts and graphs
- Flask is a very famous framework for constructing web-based applications.
- TensorFlow is best for artificial intelligence and deep learning jobs
One of the benefits of these libraries is that they can greatly reduce the amount of code that needs to be underwritten while making it less complex to offer sophisticated features in your applications.
Handling Libraries with Virtual Environments
Sometimes it becomes necessary for libraries used in a project to be maintained at a particular state, so even though Python makes it very easy to install third party libraries, one common practice is to use virtual environments. A virtual environment is a directory that has its own python executable and libraries and allows to maintain dependencies for different projects separately.Virtual environments also help by providing isolation when libraries require different versions of python or other dependencies. You can create a virtual environment using the venv module:
Virtual Environment Creation Example
python3 -m venv myenv
Virtual Environment Activation Example
source myenv/bin/activate On macOS/Linux
myenvScriptsactivate On Windows
pip install requests