5 Essential Built-in Modules for Every Python Developer! 🐍

CyCoderX
6 min readMay 13, 2024

--

Image by zakokor from iStock

Starting or want to level up your Python skills? Dive into this beginner-friendly guide!

In the world of Python, there’s a plethora of incredibly useful tools that come pre-installed with the Python standard library, right out of the box.

In this article, we’re going to check out five of these modules that every Python developer should know about.

From file management to mathematical operations, from date and time manipulation to random number generation, these modules provide the foundational support that makes Python such a versatile and powerful language.

So, let’s dive in and see what these modules can do for us !

  • sys: The sys module helps us interact with the Python system itself. It's like a backstage pass that lets us access things like command-line arguments and information about the Python version running our code.
# Import the sys module
import sys


# Get the Python version
python_version = sys.version
print("Python version:", python_version)

# Get the platform information
platform = sys.platform
print("Platform information:", platform)

# Get the Python path
python_path = sys.path
print("Python path:", python_path)

# Access command-line arguments
arguments = sys.argv

# Print the command-line arguments
print("Command-line arguments:", arguments)

# Get the first argument passed in
first_argument = sys.argv[1] if len(sys.argv) > 1 else None
print("First argument passed in:", first_argument)

# Terminate the program with a specific exit code
exit_code = 0 # Example exit code
sys.exit(exit_code) # Terminate the program with the specified exit code
  • os: With the os module, we can do all sorts of things related to the operating system. It's like a handy toolbox for managing files, directories, and checking if they exist or not.
# Import the os module
import os

# Get the current working directory
current_directory = os.getcwd()

# List files and directories in a directory
directory_path = "/path/to/directory"
directory_contents = os.listdir(directory_path)

# Check if a file or directory exists
path = "/path/to/file_or_directory"
exists = os.path.exists(path)

# Get information about a file
file_info = os.stat(path)

# Create a directory
os.mkdir("new_directory")

# Rename a file
os.rename("old_file.txt", "new_file.txt")

# Remove a file
os.remove("file_to_remove.txt")

# Change current working directory
os.chdir("/new/directory/path")
  • math: Think of the math module as your trusty calculator in Python. It's packed with functions for doing math operations like square roots, trigonometry, and rounding numbers.
# Import the math module
import math

# Perform basic mathematical operations
result_sqrt = math.sqrt(25) # Square root of 25
result_pow = math.pow(2, 3) # 2 raised to the power of 3
result_abs = math.abs(-5) # Absolute value of -5

# Calculate trigonometric functions
sine_value = math.sin(math.pi / 2) # Sine of π/2 (90 degrees)
cosine_value = math.cos(math.pi) # Cosine of π (180 degrees)
tangent_value = math.tan(math.pi/4) # Tangent of π/4 (45 degrees)

# Round numbers to the nearest integer
rounded_number_floor = math.floor(3.6) # Rounds down to 3
rounded_number_ceil = math.ceil(3.2) # Rounds up to 4
rounded_number_round = round(3.5) # Rounds to the nearest integer (4)

# Calculate logarithms
log_value = math.log(10, 2) # Logarithm of 10 to the base 2

# Calculate factorial
factorial_value = math.factorial(5) # Factorial of 5 (5!)

# Convert angles between degrees and radians
degrees_to_radians = math.radians(90) # Convert 90 degrees to radians
radians_to_degrees = math.degrees(math.pi / 2) # Convert π/2 radians to degrees
  • random: Feeling lucky? The random module is here to help! It's like a magic hat that pulls out random numbers or shuffles lists, adding a dash of unpredictability to our programs.
# Import the random module
import random

# Generate random integers within a range
random_number = random.randint(1, 10) # Generates a random integer between 1 and 10

# Shuffle a list
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list) # Shuffles the list randomly
print("Shuffled List:", my_list)

# Generate a random float between 0 and 1
random_float = random.random() # Generates a random float between 0 and 1
print("Random Float:", random_float)

# Choose a random element from a sequence
my_sequence = ["apple", "banana", "orange", "grape"]
random_element = random.choice(my_sequence) # Chooses a random element from the sequence
print("Random Element:", random_element)

# Generate a random sample from a population
sample = random.sample(range(1, 101), 5) # Generate 5 unique random numbers from 1 to 100
print("Random Sample:", sample)

# Randomly select an element with replacement
random_element_with_replacement = random.choices(["A", "B", "C", "D"], k=3) # Select 3 elements with replacement
print("Random Element with Replacement:", random_element_with_replacement)

# Set the random seed for reproducibility
random.seed(1234) # Set the random seed to 1234

print(random.randint(1, 100)) # Output: 17
print(random.randint(1, 100)) # Output: 72
print(random.randint(1, 100)) # Output: 97

# Resetting the seed to the same value will produce the same sequence of random numbers
random.seed(1234)

print(random.randint(1, 100)) # Output: 17
print(random.randint(1, 100)) # Output: 72
print(random.randint(1, 100)) # Output: 97
  • datetime: Ever need to work with dates and times in your code? That’s where the datetime module comes in handy. It's like a calendar that helps us create, format, and manipulate dates and times effortlessly.
# Import the datetime module
import datetime

# Get the current date and time
current_datetime = datetime.datetime.now()

# Format a datetime object as a string
formatted_date = current_datetime.strftime("%Y-%m-%d %H:%M:%S") # Format as YYYY-MM-DD HH:MM:SS
print("Formatted Date:", formatted_date)

# Create a datetime object from a string
date_string = "2024-05-08"
converted_date = datetime.datetime.strptime(date_string, "%Y-%m-%d")

# Calculate the difference between two dates
date1 = datetime.datetime(2024, 5, 8)
date2 = datetime.datetime(2024, 5, 10)
date_difference = date2 - date1 # Difference between date2 and date1
print("Difference between two dates:", date_difference)

# Get the current date
current_date = datetime.date.today()
print(current_date.strftime("%Y-%m-%d")) # Print the current date in the format YYYY-MM-DD

# Calculate the difference between two datetime objects
timedelta = datetime.timedelta(days=7)
future_date = current_date + timedelta # Date 7 days from now
print("Future Date (7 days from now):", future_date)

# Get the day of the week
day_of_week = current_date.strftime("%A") # Full name of the day (e.g., Monday)

Conclusion:

In conclusion, Python’s built-in standard library provides various modules for developers, covering a wide spectrum of needs. From system operations to math, date/time handling, and randomness, these modules empower developers to streamline workflows and enhance application functionality.

By leveraging the versatility of modules like sys, os, math, random, and datetime, developers can create innovative solutions and drive progress in their Python projects.

Woman Programming on a Notebook by Christina Morillo on pexels

Final Words:

Thank you for taking the time to read my article.

This article was first published on medium by CyCoderX.

Hey There! I’m CyCoderX, a data engineer who loves crafting end-to-end solutions. I write articles about Python, SQL, AI, Data Engineering, lifestyle and more!

Join me as we explore the exciting world of tech, data and beyond!

For similar articles and updates, feel free to explore my Medium profile:

Python Tips By CyCoderX

68 stories

If you enjoyed this article, consider following for future updates.

Interested in Python content and tips? Click here to check out my list on Medium.

Interested in more SQL, Databases and Data Engineering content? Click here to find out more!

Please consider supporting me by:

  1. Clapping 50 times for this story
  2. Leaving a comment telling me your thoughts
  3. Highlighting your favorite part of the story

What did you think about this article? Let me know in the comments below … or above, depending on your device! 🙃

--

--

CyCoderX

Data Engineer | Python & SQL Enthusiast | Cloud & DB Specialist | AI Enthusiast | Lifestyle Blogger | Simplifying Big Data and Trends, one article at a time.