Welcome back! Yesterday, we learned about error handling in Python. Today, we’ll explore modules and packages, which help you organize your code and reuse it across different projects. By the end of this day, you’ll know how to use Python’s built-in modules and create your own. Let’s get started!
What are Modules?
Modules are files containing Python code that you can import and use in your programs. They help you organize your code into manageable pieces and promote code reuse.
Importing Modules
You can import a module using the import statement. Here are a few examples:
import math
print(math.sqrt(16)) # Output: 4.0
You can also import specific functions or variables from a module:
from math import pi, sqrt
print(pi) # Output: 3.141592653589793
print(sqrt(25)) # Output: 5.0
Creating Your Own Modules
You can create your own modules by saving Python code in a .py file and then importing it into other files.
Example:
Create a file named mymodule.py with the following content:
def greet(name):
print(f"Hello, {name}!")
PI = 3.14159
In another file, import and use the module:
import mymodule
mymodule.greet("Andrew") # Output: Hello, Andrew!
print(mymodule.PI) # Output: 3.14159
What are Packages?
Packages are directories containing multiple modules. They help you organize large codebases. A package must contain a special file named init.py, which can be empty or contain package initialization code.
Creating and Using Packages
Create a directory structure like this:
mypackage/
__init__.py
module1.py
module2.py
Add code to the modules:
module1.py:
def add(a, b):
return a + b
module2.py:
def subtract(a, b):
return a - b
Import and use the package in another file:
from mypackage import module1, module2
print(module1.add(5, 3)) # Output: 8
print(module2.subtract(5, 3)) # Output: 2
Using Built-in Modules
Python comes with many built-in modules. Here are some useful ones:
os: Provides functions for interacting with the operating system.
sys: Provides access to some variables used or maintained by the interpreter.
random: Contains functions for generating random numbers.
Example:
import os
import sys
import random
print(os.name) # Output: posix (on Unix-like systems)
print(sys.version) # Output: Python version information
print(random.randint(1, 10)) # Output: A random integer between 1 and 10
Practice Time!
Let’s put what we’ve learned into practice. Create a module and a package, and use them in your main program.
Create a module named math_operations.py with the following content:
def multiply(a, b):
return a * b
def divide(a, b):
if b == 0:
return "Cannot divide by zero!"
return a / b
In your main program file, import and use the module:
import math_operations
print(math_operations.multiply(6, 7)) # Output: 42
print(math_operations.divide(10, 2)) # Output: 5.0
print(math_operations.divide(10, 0)) # Output: Cannot divide by zero!
Conclusion
Great job today! You’ve learned how to use modules and packages to organize and reuse your code. Tomorrow, we’ll dive into working with files, which is essential for reading from and writing to files in your programs. Keep practicing and having fun coding!
Learn Python with Me
Join me, Andrew, as we continue this exciting Python adventure. I’ll be sharing my progress and tips, and I hope you’ll share yours too. Let’s code together and have some fun!
By following this plan, you’re not only learning Python but also building a solid foundation in programming. Happy coding!
Leave a Reply