DEV Community

Guru prasanna
Guru prasanna

Posted on

Python Day - 8 Modules-Meaning and Types,Tasks

Modules:

  1. Every python file is a module.Files which we save with the extension(.py) all are modules.
  2. Modules can be reused using import function-It helps to import one module to another module.

Special variables:
Denoted by "__"-Double underscore(in python it is called as dunder) in front and backside of a variable.

Example:1
Input:

print("Hello")
print(__name__)
print(__file__)

Enter fullscreen mode Exit fullscreen mode

Output:

Hello
__main__
/home/guru/Desktop/Guru/Bank.py

Enter fullscreen mode Exit fullscreen mode

In the above example,
---> name is used to find whether we are working in same module or from different module.If we are working in same module then main will be the output which means in same working module we are printing.Incase if we are printing it in another module by importing then the output will be that module name.
--->file is used for locating the module.

Example:2
To prove module is reusable:

Case:1 Both the python modules are in same folder

Input:

calculator.py-module1

def add(no1,no2):
    print(no1+no2)

def subtract(no1,no2):
    print(no1-no2)


def multiply(no1,no2):
    print(no1*no2)

def divide(no1,no2):
    print(no1/no2)
Enter fullscreen mode Exit fullscreen mode

user.py-module2

import calculator

calculator.add(10,3)
calculator.multiply(10,3)
Enter fullscreen mode Exit fullscreen mode

So we have imported from calculator.py to user.py and calling a function in module 2.
Output will be

13
30

Enter fullscreen mode Exit fullscreen mode

Case:2 Python modules in different folders

If both modules are in different folders then the output will show modulenotfounderror.

Output:

ModuleNotFoundError: No module named 'calculator'

Enter fullscreen mode Exit fullscreen mode

If we need specific functions alone from calculator.py means then no need to import whole module,instead we can use "from" to take specific function

from calculator import add, divide

add(10,3)
divide(10,2)
Enter fullscreen mode Exit fullscreen mode

doc-->Documentation string
This variable is used to know about the particular module,like a description.
For every module ther will be a documentation which will be mentioned in ''' ''' or """ """.

'''It is about special variables'''

print(__doc__)
Enter fullscreen mode Exit fullscreen mode

Output:

It is about special variables
Enter fullscreen mode Exit fullscreen mode

help-To see all details about the particular module like functions,file location, including documentation string.

#In user.py module:

import calculator

print(help(calculator))
Enter fullscreen mode Exit fullscreen mode

Note:vi (module name.py) -is used to open the file in terminal itself instead of opening text editor.And after saving if we reload in text editor changes will be reflecting in it.

Type of modules:
userdefined-Whatever module we create with extension .py is userdefined modules.

predefined modules-Modules which are inbuilt in python.
help('modules') using this we can view all predefined modules in python.

Otp generator: Using random module:

import random
otp = random.randint(100000,999999)
print(otp)
Enter fullscreen mode Exit fullscreen mode

Output:

263861
696781
802686

Enter fullscreen mode Exit fullscreen mode

Task 1:

  1. Create a python module called Bank.
  2. Add functions: deposit(amount), withdraw(amount)
  3. Create one more python module called Customer
  4. From customer module, call deposit and withdraw functions of Bank module.

Bank.py:module 1

def deposit(amount):
    print("Total deposit amount is ",amount)
    return(amount)

def withdraw(amount):
    print("Total withdrawal amount is ",amount)
    return(amount)

Enter fullscreen mode Exit fullscreen mode

customer.py:module 2

import Bank

total_deposit=Bank.deposit(100000)
total_withdrawal=Bank.withdraw(20000)

print("Bank balance is ",(total_deposit-total_withdrawal))

Enter fullscreen mode Exit fullscreen mode

Output will be

Total deposit amount is  100000
Total withdrawal amount is  20000
Bank balance is  80000

Enter fullscreen mode Exit fullscreen mode

Task:2
Few important predefined modules:

1) Os module:It is used for interacting with our operating system.

import os
print("Contents:", os.listdir())
Enter fullscreen mode Exit fullscreen mode

output:

Contents: ['user.py', 'Bank.py', '__pycache__', 'calculator.py', 'customer.py', 'hello.py', 'python classes']

Enter fullscreen mode Exit fullscreen mode

2) math: Performs mathematical operations.

Ex:Calculate square root

import math
print("Square Root of 16:", math.sqrt(16))
Enter fullscreen mode Exit fullscreen mode

Output:

Square Root of 16: 4.0

Enter fullscreen mode Exit fullscreen mode

3) datetime: Manages dates and times.

from datetime import datetime

now = datetime.now()
print("Current Date and Time:", now)
Enter fullscreen mode Exit fullscreen mode

Output:

Current Date and Time: 2024-11-22 10:54:46.494016

Enter fullscreen mode Exit fullscreen mode

4) sys - System-Specific Parameters and Functions:Provides access to system-specific parameters.

import sys

print("Python Version:", sys.version)
Enter fullscreen mode Exit fullscreen mode

output:Displays python version

Python Version: 3.12.3 (main, Nov  6 2024, 18:32:19) [GCC 13.2.0]

Enter fullscreen mode Exit fullscreen mode

5) re - Regular Expressions: Allows for pattern matching in strings.
If any string repeats and need to find that alone we can use re module.

import re

text = "cow cat cow dog"
matches = re.findall(r"cow", text)
print("Matches:", matches)
Enter fullscreen mode Exit fullscreen mode

Output:

Matches: ['cow', 'cow']

Enter fullscreen mode Exit fullscreen mode

6) collections - Specialized Data Structures: Provides high-performance container datatypes.

from collections import Counter

data = ['a', 'b', 'a', 'c', 'b', 'a']
count = Counter(data)
print("Occurrences:", count)
Enter fullscreen mode Exit fullscreen mode

Output: From the above input output will count the occurances of each data and displays.

Occurrences: Counter({'a': 3, 'b': 2, 'c': 1})

Enter fullscreen mode Exit fullscreen mode

7) Django: Used to create web applications.

8) String: provides a collection of constants and functions that make it easier to work with strings.

Ex:#using one of the constants-string.ascii_lowercase

import string

print("Lowercase Letters:", string.ascii_lowercase)
Enter fullscreen mode Exit fullscreen mode

output:

Lowercase Letters: abcdefghijklmnopqrstuvwxyz

Enter fullscreen mode Exit fullscreen mode

Top comments (0)