1. Introduction
“Hello everyone! Welcome back to our Python learning series. Today, we are going to talk about a very interesting topic: Modules and Libraries in Python. Whether you’re a student or working in an office, this concept will save you time and effort in coding. Let’s dive in!”
2.What Are Modules and Libraries?
- Definition of Modules:
“Modules are like tools. Instead of writing everything from scratch, you can use these pre-built tools to do tasks quickly. For example, Python has a module called math for calculations.”
- Definition of Libraries:
“A library is a collection of many modules. Think of it like a toolbox full of different tools for different tasks. Libraries like pandas and openpyxl are used for tasks like managing Excel files.”
3. How to Import Modules –
import module_name
“For example, to use the math module, just type: import math.”
- Example 1: Calculate Square Root with
math Module
import math
result = math.sqrt(16)
print("The square root of 16 is:", result)
4. Import Specific Function:
from math import sqrt
result = sqrt(25)
print("Square root of 25 is:", result)
- “This way, we import only the part we need, making the code shorter.”
5. Examples for Modules
random Module for Selecting Random Items
import random students = ["Amit", "Priya", "Rahul", "Sneha"]
chosen = random.choice(students)
print("The chosen student is:", chosen)
2. datetime for Date and Time
from datetime import datetime
now = datetime.now()
print("Current date and time:", now)
6. Examples Useful Libraries
openpyxl for Excel Files- “Imagine you have an Excel file and want to automate tasks like reading or writing data.”
from openpyxl import Workbook
workbook = Workbook()
sheet = workbook.active
sheet["A1"] = "Hello, Excel!"
workbook.save("example.xlsx")
print("Excel file created!")
2. os for Managing Files
- “This library helps you work with files and folders directly in Python.”
import os os.makedirs("NewFolder")
print("Folder created!")
7. How to Install External Libraries
- Using
pip Command:
“To install a library not built into Python, use the pip command in command prompt. For example:
pip install pandas
“This installs the pandas library, which is great for handling large datasets.
Pre-installed modules and libraries:
Python comes with a standard library that includes many pre-installed modules and libraries, making it easy to perform a wide range of tasks without installing additional packages. Below are some of the commonly used predefined modules and libraries included in Python:
1. General Purpose Modules
sys: Provides access to system-specific parameters and functions.
- Example:
sys.argv for command-line arguments.
os: For interacting with the operating system.
- Example:
os.listdir() to list files in a directory.
time: Handles time-related tasks.
- Example:
time.sleep() to pause execution.
datetime: For working with dates and times.
- Example:
datetime.date.today() to get the current date.
platform: Provides information about the platform (OS, Python version, etc.).
- Example:
platform.system() to get the OS name.
2. File and Directory Handling
shutil: High-level file and directory operations.
- Example:
shutil.copy() to copy files.
pathlib: Object-oriented approach to working with file paths.
- Example:
Path().exists() to check if a file exists.
glob: To find file paths using patterns.
- Example:
glob.glob('*.txt') to find all text files.
3. Data Handling and Manipulation
json: For working with JSON data.
- Example:
json.dumps() to convert Python objects to JSON.
csv: For reading and writing CSV files.
- Example:
csv.reader() to read CSV files.
sqlite3: For working with SQLite databases.
- Example:
sqlite3.connect() to connect to a database.
pickle: For serializing and deserializing Python objects.
- Example:
pickle.dump() to save objects to a file.
4. Math and Statistics
math: Provides mathematical functions.
- Example:
math.sqrt() to find the square root.
statistics: For statistical calculations.
- Example:
statistics.mean() to calculate the average.
random: For generating random numbers.
- Example:
random.randint() for random integers.
5. Internet and Web
urllib: For working with URLs.
- Example:
urllib.request.urlopen() to fetch web pages.
http: For handling HTTP requests.
- Example:
http.client for HTTP communication.
email: For email processing.
- Example:
email.message to create email messages.
6. Text Processing
re: For regular expressions.
- Example:
re.search() to search patterns in text.
string: Common string operations.
- Example:
string.ascii_letters to get all alphabets.
textwrap: For wrapping and formatting text.
- Example:
textwrap.wrap() to wrap text to a specified width.
7. Debugging and Testing
logging: For logging messages.
- Example:
logging.info() to log informational messages.
unittest: For writing test cases.
- Example:
unittest.TestCase to define test cases.
pdb: Python debugger for debugging code.
- Example:
pdb.set_trace() to set a breakpoint.
8. Networking
socket: For network communication.
- Example:
socket.socket() to create a socket.
ipaddress: For working with IP addresses.
- Example:
ipaddress.ip_network() to define a network.
9. GUI Development
tkinter: For creating graphical user interfaces.
- Example:
tkinter.Tk() to create a window.
10. Cryptography and Security
hashlib: For generating secure hashes.
- Example:
hashlib.md5() to generate MD5 hashes.
hmac: For keyed-hashing for message authentication.
- Example:
hmac.new() to create a hash object.
11. Advanced Topics
itertools: For efficient looping.
- Example:
itertools.permutations() to generate permutations.
functools: For higher-order functions.
- Example:
functools.reduce() to reduce a list.
collections: High-performance data structures.
- Example:
collections.Counter() to count elements in a list.
n Python, the terms module and library are often used interchangeably, but they do have slight distinctions:
Key Differences
- Module: A single Python file containing definitions (functions, classes, variables) and code.
- Library: A collection of modules that provide related functionality. For example, Python’s standard library is a collection of modules and packages included with Python.
Now, let’s clarify which items in the above list are modules and which are libraries:
General Purpose
sys: Module
os: Module
time: Module
datetime: Module
platform: Module
File and Directory Handling
shutil: Module
pathlib: Module
glob: Module
Data Handling and Manipulation
json: Module
csv: Module
sqlite3: Module
pickle: Module
Math and Statistics
math: Module
statistics: Module
random: Module
Internet and Web
urllib: Library (contains submodules like urllib.request and urllib.parse)
http: Library (contains submodules like http.client and http.server)
email: Library (contains submodules like email.message and email.mime)
Text Processing
re: Module
string: Module
textwrap: Module
Debugging and Testing
logging: Module
unittest: Library (contains submodules like unittest.mock)
pdb: Module
Networking
socket: Module
ipaddress: Module
GUI Development
tkinter: Library (contains modules like tkinter.ttk and tkinter.messagebox)
Cryptography and Security
hashlib: Module
hmac: Module
Advanced Topics
itertools: Module
functools: Module
collections: Module
Most famous external libraries in Python
1. Data Science and Machine Learning
- NumPy: For numerical computing and handling multi-dimensional arrays.
- Pandas: For data manipulation and analysis.
- Matplotlib: For creating static, animated, and interactive visualizations.
- Seaborn: For statistical data visualization built on top of Matplotlib.
- Scikit-learn: For machine learning, including classification, regression, and clustering.
- TensorFlow: For deep learning and AI.
- PyTorch: Another powerful deep learning library.
- Keras: A high-level API for TensorFlow, focusing on ease of use.
- Statsmodels: For statistical modeling and hypothesis testing.
2. Data Visualization
- Plotly: For interactive visualizations, including charts, graphs, and dashboards.
- Bokeh: For creating interactive visualizations in a web browser.
- Altair: Declarative statistical visualization library for Python.
3. Web Development
- Django: A high-level web framework for rapid development and clean, pragmatic design.
- Flask: A lightweight and flexible web framework.
- FastAPI: A modern web framework for building APIs with Python 3.6+.
- Bottle: A micro web framework that is simple to use.
4. Automation and Scripting
- Selenium: For automating web browsers.
- BeautifulSoup: For web scraping and parsing HTML/XML.
- Requests: For making HTTP requests easily.
- PyAutoGUI: For GUI automation tasks like controlling the mouse and keyboard.
5. Game Development
- Pygame: For developing 2D games.
- Godot: Python bindings for the Godot game engine.
- Arcade: Another library for developing 2D games.
6. Networking
- SocketIO: For WebSocket communication.
- Paramiko: For SSH and SFTP.
- Twisted: For event-driven networking.
7. Database Handling
- SQLAlchemy: For database access and object-relational mapping (ORM).
- PyMongo: For MongoDB interaction.
- Psycopg2: For working with PostgreSQL databases.
8. Cryptography and Security
- Cryptography: For secure encryption and decryption.
- PyJWT: For JSON Web Tokens (JWT) authentication.
- Passlib: For password hashing.
9. GUI Development
- PyQt: For building cross-platform graphical applications.
- Kivy: For developing multi-touch applications.
- Tkinter: The standard GUI toolkit for Python.
10. Testing
- pytest: A powerful framework for testing.
- unittest: Built-in testing framework (but pytest is more flexible).
- Mock: For mocking objects in tests.
11. File Handling
- PyPDF2: For working with PDF files.
- OpenPyXL: For reading and writing Excel files.
- Pillow: For image manipulation and processing.
12. Other Popular Libraries
- pytz: For timezone handling.
- Arrow: For working with dates and times in an easy and human-friendly way.
- Shapely: For geometric operations.
- Geopy: For geocoding and working with geographic data.
- MoviePy: For video editing.
13. AI and Natural Language Processing (NLP)
- NLTK: For natural language processing.
- spaCy: Another NLP library for processing large text datasets.
- OpenCV: For computer vision and image processing.
- transformers (by Hugging Face): For working with state-of-the-art NLP models.