Modules in Python: Fundamentals for Data Scientists

CHIRAG GOYAL 03 Jun, 2024
8 min read

Introduction

Nowadays, the Python Modules Operations programming language becomes one of the most popular languages. When we write the codes for Production level Data Science Projects, what happens is that our Python code grows in size, and as a result most probably it becomes unorganized over time. So, keeping your code in the same file as it grows makes your code difficult to maintain and debug.

So, to resolve these kinds of issues, Python modules help us to organize and group the content by using files and folders. This modular programming approach where we have broken the code into separate parts is where python modules come into the picture. So, In this article, I will help you to understand the complete intuition behind modules in Python Modules Operations in a detailed manner.

Note: If you are more interested in learning concepts in an Audio-Visual format, So to learn the basic concepts of Python Modules Operations and some other related stuff you may see this video.

This article was published as a part of the Data Science Blogathon

What are Python Modules?

In Python, Modules are simply files with the “.py” extension containing Python code that can be imported inside another Python Modules Operations Program.

In simple terms, we can consider a module to be the same as a code library or a file that contains a set of functions that you want to include in your application.

With the help of modules, we can organize related functions, classes, or any code block in the same file. So, It is considered a best practice while writing bigger codes for production-level projects in Data Science is to split the large Python Modules Operations code blocks into modules containing up to 300–400 lines of code.

The module contains the following components:

  • Definitions and implementation of classes,
  • Variables, and
  • Functions that can be used inside another program.

Let’s try to gain more understanding of the concept with the help of an example:

Suppose we want to make an application for a calculator. We want to include few operations in our application such as addition, subtraction, multiplication, division, etc.

Now, here what we will be doing is to break the complete code into separate parts and simply create one module for all these operations or separate modules for each of the operations. And then we can call these modules in our main program logic.

Here the core idea is to minimize the code, and if we create modules, it doesn’t mean we can only use it for this program, but we can even call these modules for other programs as well.

python Modules

                                                       Image Source: Medium

Now that we have understood the concept of modules, let us try to understand how we can create and use a module in python and also see some other functionalities related to Modules.

How to create Python Modules?

To create a module in python, we have to save the code that we wish in a file with the file extension “.py”. Then, the name of the Python Modules Operations file becomes the name of the module.

For Example,

In this program, a function is created with the name “welcome” and save this file with the name mymodule.py i.e. name of the file, and with the extension “.py”.

We saved the following code in a file named mymodule.py

def welcome(name):
  print("Hello, " + name +" to Analytics Vidhya")

How to use Python Modules?

To incorporate the module into our program, we will use the import keyword, and to get only a few or specific methods or functions from a module, we use the from keyword.

NOTE: When we are using a function from a module, then we use the following syntax:

module_name.function_name

Now to use the module which we have just created, we are using the import statement:

For Example,

In this example, we will Import the module named mymodule, and then call the welcome function with a given argument:

import mymodule
mymodule.welcome("Chirag Goyal")

Output:

Hello, Chirag Goyal to Analytics Vidhya

Variables in Python Modules

The module in python can contain functions, as already described, but can also contain variables of all types such as arrays, dictionaries, objects, etc.

For Example,

Save this code in the file mymodule.py

person1 = {
  "name": "Chirag Goyal",
  "age": 19,
  "country": "India"
  "education”: “IIT Jodhpur"  
}

For Example,

In this example, we will Import the module named mymodule, and then try to access the person1 dictionary components:

import mymodule
a = mymodule.person1["age"]
b = mymodule.person1["education"]
c = mymodule.person1["country"]
print(a)

Output:

19

How to rename a Python Module?

We can name the file of the module whatever you like, but we have to note that it must have the file extension “.py”.

To rename the module name, we can create an alias when you import a module, with the help of the as keyword:

For Example,

Create an alias for mymodule with the name new_module:

import mymodule as new_module
a = new_module.person1["age"]
b = new_module.person1["education"]
c = new_module.person1["country"]
print(a)

Output:

19

How does Import from Modules work?

If we want to choose to import only some parts from a module, then we can do this with the help of the from keyword.

For Example,

Now, we have a module named mymodule that has one function and one dictionary:

def welcome(name):
  print("Hello, " + name +" to Analytics Vidhya")

person1 = {
  "name": "Chirag Goyal",
  "age": 19,
  "country": "India"
  "education”: “IIT Jodhpur"  
}

Now, Let’s try to Import only the person1 dictionary from the module named mymodule:

from mymodule import person1
print (person1["age"])

Output:

19

NOTE: Here we have to note that when we try to import using the from keyword, then do not use the module name when referring to elements in the module in python.

For Example,

Use person1[“age”], not mymodule.person1[“age”]

Advantages of Modules

Some of the advantages while working with modules in Python is as follows:

Reusability

Working with modules makes the code reusable.

Simplicity

The module focuses on a small proportion of the problem, rather than focusing on the entire problem.

Scoping

A separate namespace is defined by a module that helps to avoid collisions between identifiers.

Python Built-in Modules

As we know that the Python interactive shell has a number of built-in functions. As a shell start, these functions are loaded automatically and are always available, such as,

  • print() and input() for I/O,
  • Number conversion functions such as int(), float(), complex(),
  • Data type conversions such as list(), tuple(), set(), etc.

In addition to these many built-in functions, there are also a large number of pre-defined functions available as a part of libraries bundled with Python distributions. These functions are defined in modules which are known as built-in modules.

These built-in modules are written in C language and integrated with the Python shell.

To display a list of all of the available modules in Python Programming Language, we can use the following command in the Python console:

help('modules') 

The output to the above code is shown below:

How to find Python List Installed Modules and Version using pip?

Now, let’s discuss some of the useful and frequently used built-in modules of Python.

  • Math Module
  • Statistics Module

Working with Math Module of Python

Some of the most popular mathematical functions that are defined in the math module include,

  • Trigonometric functions,
  • Representation functions,
  • Logarithmic functions,
  • Angle conversion functions, etc.

In addition, two mathematical constants- pi and e are also defined in this module.

In Mathematics, Pi is a well-known mathematical constant. Its value is 3.141592653589793.

>>> import math
>>> math.pi
3.141592653589793

Another well-known mathematical constant is e, which is known as Euler’s number. Its value equals 2.718281828459045.

>>> import math
>>> math.e
2.718281828459045

Trigonometric Ratios

For calculating various trigonometric ratios for a given angle, the math module contains several functions. The trigonometric functions such as sin, cos, tan, etc. take the angle argument in radians. While we are used to expressing the angle in degrees. In the math module, we have two angle conversion functions that help us to convert the angle from degrees to radians and vice versa:

  • degrees()
  • radians()

For Example,

In this example, we will be converting the angle of 30 degrees to radians and then back again to the degree.

NOTE: π radians is equivalent to 180 degrees.

>>> import math
>>> math.radians(30)
0.5235987755982988
>>> math.degrees(math.pi/6)
29.999999999999996

For Example,

In this example, we will find the value of sin, cos, and tan ratios for the angle of 30 degrees which in radians is equal to 0.5235987755982988 radians.

>>> import math
>>> math.sin(0.5235987755982988)
0.49999999999999994
>>> math.cos(0.5235987755982988)
0.8660254037844387
>>> math.tan(0.5235987755982988)
0.5773502691896257

You may also try some more functions of the math module such as math.log(), math.log10(), math.pow(). math.sqrt(), math.exp(), math.ceil(), math.floor(), etc.

To learn more about the math module, refer to the link.

Working with Statistics Module of Python

The statistics module provides functions to mathematical statistics of numeric data. Some of the popular statistical functions are defined in this module are as follows:

  • Mean
  • Median
  • Mode
  • Standard Deviation

Mean

The mean() method returns the arithmetic mean of the numbers present in a list.

For Example,

>>> import statistics
>>> statistics.mean([2,5,6,9]) 
5.5

Median

The median() method returns the middle value of numeric data present in a list.

For Example,

>>> import statistics
>>> statistics.median([1,2,3,7,8,9])
5.0
>>> statistics.median([1,2,3,8,9]) 
3.0

Mode

The mode() method returns the most common data point present in the list.

For Example,

>>> import statistics
>>> statistics.mode([2,5,3,2,8,3,9,4,2,5,6]) 
2

Standard Deviation

The stdev() method returns the standard deviation on a given sample in the form of a list.

For Example,

>>> import statistics
>>> statistics.stdev([1,1.5,2,2.5,3,3.5,4,4.5,5])
1.3693063937629153

To learn more about the statistics module, refer to the link.

NOTE: There are also other modules in Python but here we discuss only two modules to understand how the concept of modules in Python works and you can similarly use the other Python built-in modules also.

To learn more about the Modules in Python, you can refer to the link.

Conclusion

Python modules in organizing code for data science projects. It addresses the challenges of maintaining large codebases and emphasizes the benefits of modular programming. By explaining the components and functionality of modules, it sets the stage for topics covered in the article, including module creation, usage, and exploration of built-in modules like math and statistics. Overall, the introduction provides a clear overview and serves as a comprehensive guide for readers seeking to enhance their Python programming skills.

Frequently Asked Questions

Q1. What are modules in Python?

A. Modules in Python are files containing Python code, which can include variables, functions, and classes. They help organize code into reusable parts, making it easier to manage and maintain large projects. You can import modules into your Python programs to access their functionality.

Q2. How many Python modules are there?

A. There isn’t a fixed number of Python modules because new ones can be created by developers and added to the Python ecosystem regularly. The Python Standard Library alone contains over 200 modules covering a wide range of functionalities, including file I/O, networking, mathematical operations, and more. Additionally, there are countless third-party modules available through platforms like PyPI (Python Package Index).

Q3. What is Python types module?

A. The types module in Python provides functions and constants for working with data types. It allows you to check the type of an object, create new types dynamically, and perform type-related operations. For example, you can use it to check if an object is of a certain type, like a list or a dictionary, or to create custom data types using the type() function.

Q4. What is the os module in Python?

A. The os module in Python provides a way to interact with the operating system. It allows you to perform various operating system-related tasks such as file and directory operations, process management, environment variables manipulation, and more. With the os module, you can create, delete, move, and rename files and directories, execute shell commands, and retrieve information about the system environment, like the current working directory or the user’s home directory.

The media shown in this article are not owned by Analytics Vidhya and are used at the Author’s discretion.

CHIRAG GOYAL 03 Jun, 2024

I am currently pursuing my Bachelor of Technology (B.Tech) in Computer Science and Engineering from the Indian Institute of Technology Jodhpur(IITJ). I am very enthusiastic about Machine learning, Deep Learning, and Artificial Intelligence. Feel free to connect with me on Linkedin.

Frequently Asked Questions

Lorem ipsum dolor sit amet, consectetur adipiscing elit,

Responses From Readers

Clear

Filipe
Filipe 11 Sep, 2022

I would like to congratulate you for the article's quality. Thank you very much!! Greetings from Brazil! ;)