Python Modules
$count++; if($count == 1) { include "../mobilemenu.php"; } ?> if ($count == 2) { include "../sharemediasubfolder.php"; } ?>
In Python, a module is simply a file containing Python code (functions, classes, or variables) that you can reuse across different programs by importing it. Modules help organize code into logical components, making it more manageable and modular.
1. Creating a Simple Module
To create a module, make a Python file (e.g.,my_module.py
) with code in it, such as functions or variables.
# my_module.py
def greet(name):
return f"Hello, {name}!"
pi = 3.14159
Explanation: Here, my_module.py
contains a function greet()
and a variable pi
. This file serves as a module that can be imported into other programs.2. Importing a Module
To use a module in another file, use theimport
statement. The following code demonstrates how to import and use my_module
.
# main.py
import my_module
print(my_module.greet("Alice"))
print("Value of pi:", my_module.pi)
Output:
Hello, Alice!
Value of pi: 3.14159
Explanation: We use import my_module
to access its functions and variables, which we call by prefixing with the module’s name.3. Importing Specific Functions or Variables
You can import specific items from a module usingfrom module_name import item
.
# main.py
from my_module import greet, pi
print(greet("Bob"))
print("Value of pi:", pi)
Output:
Hello, Bob!
Value of pi: 3.14159
Explanation: By importing specific items, we can call greet
and use pi
directly without the module name prefix.4. Using as to Rename Imports
Theas
keyword allows you to rename a module or function upon import, making it more convenient to call.
# main.py
import my_module as mm
print(mm.greet("Charlie"))
print("Value of pi:", mm.pi)
Output:
Hello, Charlie!
Value of pi: 3.14159
Explanation: Here, we import my_module
as mm
, allowing us to use mm
as a shortcut for accessing its contents.5. Using the __name__ Variable in Modules
The__name__
variable is a special built-in variable in Python that helps determine whether the module is run directly or imported as a module.1. Add the Following Code to
my_module.py
:# my_module.py
def greet(name):
return f"Hello, {name}!"
pi = 3.14159
if __name__ == "__main__":
print(greet("Direct Run"))
2. Running
my_module.py
Directly:python my_module.py
Output:
Hello, Direct Run
3. Importing
my_module
in Another File (main.py):import my_module
Output:
# (No Output from my_module because __name__ == "__main__" is False when imported)
Explanation: When my_module.py
is run directly, __name__ == "__main__"
is True, so it prints “Hello, Direct Run.” When imported, this code block doesn’t execute.6. Exploring Built-in and External Modules
Python includes many built-in modules, such asmath
, random
, and os
. Additionally, external modules can be installed and imported using pip
.1. Using Built-in Modules (Example with
math
):import math
print("Square root of 16:", math.sqrt(16))
print("Pi constant:", math.pi)
Output:
Square root of 16: 4.0
Pi constant: 3.141592653589793
2. Using External Modules (Example with requests
):pip install requests
import requests
response = requests.get("https://api.github.com")
print("Status Code:", response.status_code)
Output:
Status Code: 200
Explanation: Python has extensive built-in modules, and many additional packages are available through pip
to enhance functionality.7. Organizing Modules with Packages
For large applications, you can organize multiple modules into packages by creating directories with an__init__.py
file.
Example Directory Structure:my_package/
├── __init__.py
├── module1.py
└── module2.py
In module1.py
:
def add(a, b):
return a + b
In module2.py
:
def subtract(a, b):
return a - b
Importing Modules from a Package:from my_package import module1, module2
print("Addition:", module1.add(5, 3))
print("Subtraction:", module2.subtract(5, 3))
Output:
Addition: 8
Subtraction: 2
Explanation: A package is a directory that contains multiple modules, and you can import each module to access its functions.8. Reloading Modules with importlib
Sometimes you may want to reload a module without restarting the program, especially during development. This can be done using theimportlib.reload()
function.
import importlib
import my_module
print(my_module.greet("Alice"))
# Modify my_module.py, then reload
importlib.reload(my_module)
print(my_module.greet("Alice"))
Output:
Hello, Alice
Hello, Alice
Explanation: The importlib.reload()
function reloads a module, useful when changes are made to the module during runtime.Modules are essential to organizing, reusing, and managing code in Python. From creating small utility modules to organizing code into packages, modules form the backbone of modular programming in Python.