Introduction
A module in Python is a file containing Python code that can define functions, classes, and variables. It can also include runnable code. Modules help to organize related code into manageable parts, making the code easier to understand and use. Python comes with a large standard library of modules, and you can also create your own modules.
Using Standard Library Modules
Python’s standard library includes many useful modules that come pre-installed with Python. You can import these modules into your code using the import
statement.
Example: Using the math
Module
The math
module provides mathematical functions.
import math
print(math.sqrt(16)) # Output: 4.0
print(math.pi) # Output: 3.141592653589793
Example: Using the random
Module
The random
module provides functions to generate random numbers.
import random
print(random.randint(1, 10)) # Output: Random integer between 1 and 10
print(random.choice(['apple', 'banana', 'cherry'])) # Output: Randomly chosen element from the list
Example: Using the datetime
Module
The datetime
module provides classes for manipulating dates and times.
import datetime
now = datetime.datetime.now()
print(now) # Output: Current date and time
today = datetime.date.today()
print(today) # Output: Current date
Creating and Using Custom Modules
You can create your own modules to organize your code. A module is simply a Python file (.py
) that contains functions, classes, or variables.
Example: Creating a Custom Module
- Create a file named
mymodule.py
with the following content:
# mymodule.py
def greet(name):
return f"Hello, {name}!"
def add(a, b):
return a + b
- Create another file in the same directory to use this module:
# main.py
import mymodule
print(mymodule.greet("Alice")) # Output: Hello, Alice!
print(mymodule.add(3, 5)) # Output: 8
Importing Specific Functions or Variables
You can import specific functions or variables from a module using the from ... import ...
syntax.
Example
from mymodule import greet, add
print(greet("Bob")) # Output: Hello, Bob!
print(add(10, 20)) # Output: 30
Renaming Modules
You can give a module a different name when importing it using the as
keyword.
Example
import mymodule as mm
print(mm.greet("Charlie")) # Output: Hello, Charlie!
print(mm.add(7, 8)) # Output: 15
Using the dir() Function
The dir()
function can be used to list the names defined in a module.
Example
import math
print(dir(math))
Output:
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
Practical Examples Using Modules
Example 1: Using the os
Module
The os
module provides a way of using operating system dependent functionality.
import os
print(os.name) # Output: Name of the operating system dependent module imported
print(os.getcwd()) # Output: Current working directory
Example 2: Using the sys
Module
The sys
module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter.
import sys
print(sys.version) # Output: Python version
print(sys.platform) # Output: Platform identifier
Example 3: Using the json
Module
The json
module provides functions for working with JSON data.
import json
data = {
"name": "Alice",
"age": 25,
"city": "Wonderland"
}
json_data = json.dumps(data)
print(json_data) # Output: JSON string
parsed_data = json.loads(json_data)
print(parsed_data) # Output: Original dictionary
Conclusion
Modules are an essential part of Python programming, allowing you to organize code, reuse functionality, and access a wide range of built-in functions and classes. By understanding how to use both standard library modules and custom modules, you can write more modular, maintainable, and powerful Python programs. The provided examples demonstrate practical uses of modules in various contexts.