1/1/1970
1. Data Types & Structures
collections – Specialized data structures (e.g., Counter, deque).array – Efficient arrays of numeric values.datetime – Date and time manipulation.math – Mathematical functions (e.g., sqrt(), pi).random – Random number generation.2. File Handling & I/O
os – Interact with the operating system.sys – System-specific parameters and functions.io – Core I/O operations.csv – Read and write CSV files.json – Parse JSON data.3. Algorithms & Computations
itertools – Efficient looping and combinatorial functions.functools – Higher-order functions (e.g., reduce(), lru_cache()).math – Mathematical operations.statistics – Basic statistical functions (e.g., mean(), median()).4. Networking & Internet
http – HTTP protocol handling.socket – Low-level networking.urllib – Fetch data from URLs.5. Testing & Debugging
unittest – Unit testing framework.logging – Logging utility for applications.traceback – Print and manage tracebacks.6. Data Serialization
pickle – Serialize Python objects.json – Encode and decode JSON data.7. Regular Expressions
re – Regular expression matching and manipulation.8. Cryptography & Security
hashlib – Secure hash algorithms (e.g., sha256()).hmac – Hash-based message authentication codes.9. Concurrency & Parallelism
threading – Thread-based parallelism.multiprocessing – Process-based parallelism.asyncio – Asynchronous I/O.10. Miscellaneous
time – Time-related functions.copy – Shallow and deep copy operations.subprocess – Run and control subprocesses.datetime ModuleFor working with dates and times.
Importing
from datetime import datetime, date, timedeltaCurrent Date & Time
now = datetime.now() # Current date & time
today = date.today() # Current date (without time)
print(now, today)Formatting Dates ⭐
formatted = now.strftime("%Y-%m-%d %H:%M:%S") # Custom format
print(formatted) # e.g., 2023-08-27 14:35:22Common Format Codes:
%Y – Year (2023), %m – Month (08), %d – Day (27), %H – Hour (24-hour), %M – Minute, %S – SecondParsing Strings to Dates
date_obj = datetime.strptime("2023-08-27", "%Y-%m-%d")
print(date_obj) # 2023-08-27 00:00:00Date Arithmetic
tomorrow = today + timedelta(days=1)
print(tomorrow) # Next day's datetime ModuleFor working with time and delays.
Importing
import timeCurrent Time
print(time.time()) # Epoch time (seconds since 1970)
print(time.ctime()) # Human-readable (e.g., "Mon Aug 28 14:00:00 2023")Sleep (Delay Execution)
print("Start")
time.sleep(3) # Pause for 3 seconds
print("End")Measure Execution Time
start = time.time()
time.sleep(2)
end = time.time()
print(f"Elapsed: {end - start:.2f} seconds")Formatting Time
now = time.localtime()
print(time.strftime("%Y-%m-%d %H:%M:%S", now)) # 2023-08-28 14:00:00os ModuleFor interacting with the operating system.
Importing
import osFile and Directory Operations
print(os.getcwd()) # Current working directory
os.mkdir("new_folder") # Create a directory
os.rmdir("new_folder") # Remove an empty directory
os.remove("file.txt") # Delete a filePath Operations ⭐
print(os.path.exists("file.txt")) # Check if a file exists
print(os.path.join("folder", "file.txt")) # Join paths safelyAccessing Environment Variable
api_key = os.getenv('API_KEY') # Get Environment Variable
db_user = os.getenv('DB_USER', 'default_user') # Default Value if Variable is MissingEnvironment Variables
# Set new environment variable
os.environ['API_KEY'] = '123'
# Accessing Environment Variable
print(os.environ['API_KEY']) # Access environment variable
print(os.getenv('API_KEY')) # or Another Method to Access ⭐
print(os.getenv('API_KEY', 'default_user')) # Default Value if Variable is MissingOr Setting Environment Variables from the OS (Outside Python)
# Setting Environment Variables - Temporarily (For Current Session)
export API_KEY="your_api_key" # Linux/macOS
set API_KEY="your_api_key" # Windows (Command Prompt)
$env:API_KEY="your_api_key" # Windows (PowerShell)os.environ: Changes persist only while the Python process is running.export / set / $env:: Lasts only for the session—not permanent.os.getenv() for safer access to avoid KeyError.os.environ) > Shell/Terminal Session > System Environment Variablescsv ModuleFor handling CSV (Comma-Separated Values) files.
Importing
import csvRead CSV File
with open("data.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
print(row)Write CSV File
data = [["Name", "Age"], ["Alice", 30], ["Bob", 25]]
with open("output.csv", "w", newline='') as file:
writer = csv.writer(file)
writer.writerows(data)Read CSV as Dictionary
with open("data.csv", "r") as file:
reader = csv.DictReader(file)
for row in reader:
print(row['Name'], row['Age'])Write CSV from Dictionary
data = [{'Name': 'Alice', 'Age': 30}, {'Name': 'Bob', 'Age': 25}]
with open("output.csv", "w", newline='') as file:
fieldnames = ['Name', 'Age']
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)json ModuleFor working with JSON (JavaScript Object Notation) data.
Importing
import jsonRead JSON from File
with open("data.json", "r") as file:
data = json.load(file)
print(data)Write JSON to File
data = {"name": "Alice", "age": 30}
with open("output.json", "w") as file:
json.dump(data, file, indent=4)Convert JSON String to Python
json_str = '{"name": "Bob", "age": 25}'
data = json.loads(json_str)
print(data['name'])Convert Python to JSON String
data = {"name": "Charlie", "age": 35}
json_str = json.dumps(data, indent=4)
print(json_str)math ModuleFor mathematical functions.
Importing
import mathBasic Operations
print(math.sqrt(25)) # Square root (5.0)
print(math.pow(2, 3)) # Power (2^3 = 8.0)
print(math.factorial(5)) # Factorial (120)
print(math.gcd(12, 15)) # Greatest Common Divisor (3)Constants
print(math.pi) # π (3.141592653589793)
print(math.e) # Euler’s number (2.718281828459045)
print(math.inf) # InfinityRounding & Trigonometry
print(math.floor(3.7)) # Round down (3)
print(math.ceil(3.2)) # Round up (4)
print(math.sin(math.pi/2)) # Sine (1.0)
print(math.degrees(math.pi)) # Radians → Degrees (180.0)
print(math.radians(180)) # Degrees → Radians (π)http ModuleFor HTTP requests and server utilities.
Importing
from http.client import HTTPConnectionSimple GET Request
conn = HTTPConnection("example.com")
conn.request("GET", "/")
response = conn.getresponse()
print(response.status, response.reason) # 200 OK
print(response.read().decode()) # Response body
conn.close()urllib ModuleFor URL handling and web requests.
Importing
import urllib.request
import urllib.parseOpen a URL
response = urllib.request.urlopen("http://example.com")
print(response.read().decode()) # Page contentSend Data (POST Request)
data = urllib.parse.urlencode({'name': 'Alice'}).encode()
response = urllib.request.urlopen("http://example.com", data=data)
print(response.read().decode())Download a File
urllib.request.urlretrieve("http://example.com/image.jpg", "image.jpg")re ModuleFor regular expressions (pattern matching).
Importing
import reSearch for a Pattern ⭐
text = "My phone number is 123-456-7890"
match = re.search(r'\d{3}-\d{3}-\d{4}', text)
if match:
print(match.group()) # 123-456-7890Find All Matches ⭐
emails = re.findall(r'\w+@\w+\.\w+', "Contact us at a@test.com or b@xyz.com")
print(emails) # ['a@test.com', 'b@xyz.com']Replace Text
new_text = re.sub(r'\d+', 'XXX', 'Order 123 has been shipped.')
print(new_text) # Order XXX has been shipped.Split Text
words = re.split(r'\W+', "Python is awesome!")
print(words) # ['Python', 'is', 'awesome', '']asyncio ModuleFor asynchronous programming (I/O-bound tasks).
Importing
import asyncioSimple Async Function ⭐
# Define an asynchronous function using 'async def'
async def greet():
await asyncio.sleep(1) # Non-blocking sleep for 1 second (simulates I/O operation).
print("Hello, World!") # Prints after the 1-second delay.
# Run the asynchronous function using 'asyncio.run()'
asyncio.run(greet()) # Starts the event loop and runs the 'greet()' coroutine.Run Multiple Tasks
async def task(name, delay):
await asyncio.sleep(delay)
print(f"Task {name} finished!")
# Main coroutine to run multiple tasks concurrently
async def main():
# Run both tasks concurrently and wait for both to complete
await asyncio.gather(task(1, 2), task(2, 1))
# Start the asyncio event loop and execute 'main()'
asyncio.run(main())Asynchronous HTTP Request
import aiohttp # For making asynchronous HTTP requests.
# Define an asynchronous function to fetch content from a URL
async def fetch(url):
# Create an asynchronous HTTP session
async with aiohttp.ClientSession() as session:
# Make an asynchronous GET request to the URL
async with session.get(url) as resp:
# Wait for and print the response body (text content)
print(await resp.text())
# Start the event loop and run the 'fetch()' coroutine
asyncio.run(fetch('http://example.com'))