Getting Started with Python for Beginners #6: Modules & Working With Libraries
Now that you’ve learned about functions and how to structure your code, it’s time to go beyond what you write yourself. Python’s strength lies in its rich ecosystem of modules and libraries. In this post, we’ll explore:
- How to import and use modules
- Leveraging Python’s standard library
- Installing and working with third-party packages
By the end, you’ll be able to easily reuse code others have written and expand your project’s capabilities without reinventing the wheel.
What Is a Module?
A module is simply a file containing Python code—functions, variables, and classes—that you can include in your own scripts. Using modules helps you:
- Organize Code: Break large programs into smaller, manageable pieces.
- Reuse Functionality: Use functions and classes from other files or from Python’s standard library.
- Collaborate Easily: Share modules with others or use modules created by the community.
Importing Modules
You can import a module using the import keyword. For example, Python’s standard library has a math module with common mathematical functions:
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.141592653589793
If you only need a specific function from a module, you can import it directly:
from math import sqrt
print(sqrt(25)) # 5.0
For a brief introduction to modules, watch this video.
The Standard Library
Python comes with a massive collection of modules known as the standard library. It covers everything from file I/O to networking and data manipulation. Some useful modules include:
- datetime: For handling dates and times.
- os and sys: For interacting with the operating system.
- random: For generating random numbers.
- json: For working with JSON data.
Try experimenting:
import random
roll = random.randint(1, 6)
print("You rolled a", roll)
Check out the official Python documentation for a full list of standard library modules.
Creating Your Own Modules
Any .py file in your project can be treated as a module. For example, suppose you have a file called my_utils.py:
# my_utils.py
def greet(name):
print(f"Hello, {name}!")
Then in another file main.py, you can import and use it:
# main.py
import my_utils
my_utils.greet("Alice")
This lets you keep your code organized and reusable, separating logic into multiple files.
Working With Third-Party Libraries
One of the biggest strengths of Python is its community-driven ecosystem of third-party libraries. Libraries are code packages you can download and install, extending Python’s capabilities in areas like:
- Web development (e.g., Django, Flask)
- Data analysis and machine learning (e.g., NumPy, Pandas, TensorFlow)
- Game development (e.g., Pygame)
- GUI creation (e.g., Tkinter, PyQt)
You can install these packages using the pip tool, which comes with Python. For example, to install requests—a popular library for making HTTP requests:
pip install requests
After installing, you can import and use it:
import requests
response = requests.get("https://api.github.com")
print(response.status_code)
print(response.json())
For a quick intro to pip and installing packages, watch this tutorial.
Virtual Environments
As you work with more libraries, it’s often best practice to use virtual environments to manage dependencies. A virtual environment is an isolated Python environment with its own installed packages, preventing conflicts between different projects.
To create a virtual environment:
python -m venv myenv
Then activate it:
- On Windows:
myenv\Scripts\activate
- On macOS/Linux:
source myenv/bin/activate
Now, when you install packages, they go into this environment only. Deactivate it by typing:
deactivate
Check out this virtual environment tutorial for more details.
Small Project: Using a Library to Fetch Data
Let’s use the requests library to fetch data from a web API. Suppose we want to get a random joke from an online joke API.
import requests
url = "https://official-joke-api.appspot.com/random_joke"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
print("Here's a random joke for you:")
print(data["setup"])
print(data["punchline"])
else:
print("Failed to retrieve a joke. Please try again.")
This simple project shows how third-party libraries can enrich your applications. You didn’t have to write HTTP request handling or JSON parsing code yourself; the requests library and Python’s standard json module handled it.
What’s Next?
You’ve learned how to import modules, use the standard library, and even install third-party packages. This knowledge opens the door to a world of tools and functionalities you can incorporate into your projects. Next, we’ll discuss file operations and basic data handling, ensuring you can store and process data more permanently.
Coming Up: Getting Started with Python for Beginners #7: File Operations & Basic Data Handling
- Reading from and writing to text files
- Understanding file paths and modes
- Simple data processing tasks
If you’re eager to learn about file I/O now, check out this introductory video.
Wrapping Up
Modules and libraries are at the heart of Python’s flexibility and power. With the ability to import functionality from both the standard library and community packages, you can quickly build sophisticated applications. Keep exploring, experiment with different libraries, and start organizing your code into modules of your own.