Python Cheat Sheet
A comprehensive Python reference guide with syntax, examples, and usage instructions. Find the Python concepts, functions, and commands you need using the search bar or browse by category.
📚 Practice what you've learned with our Python Flashcards
Variables
Basic SyntaxAssign values to variables in Python
Syntax:
variable_name = value
Examples:
name = 'John'
String variableage = 25
Integer variableprice = 19.99
Float variableis_active = True
Boolean variableNotes:
Python is dynamically typed - no need to declare variable types
Comments
Basic SyntaxAdd comments to Python code
Syntax:
# Single line comment
'''Multi-line comment'''
Examples:
# This is a single line comment
Single line comment'''
This is a
multi-line comment
'''
Multi-line comment using triple quotes"""Another way to write
multi-line comments"""
Multi-line comment using double quotesNotes:
Use comments to explain your code and make it more readable
print()
Basic SyntaxOutput text to console
Syntax:
print(value1, value2, ...)
Examples:
print('Hello, World!')
Print a stringprint(42)
Print a numberprint('Name:', name, 'Age:', age)
Print multiple valuesprint(f'Hello {name}, you are {age} years old')
Print with f-string formattingNotes:
print() automatically adds a newline. Use end='' to prevent this
input()
Basic SyntaxGet user input from console
Syntax:
input(prompt)
Examples:
name = input('Enter your name: ')
Get string inputage = int(input('Enter your age: '))
Get integer inputprice = float(input('Enter price: '))
Get float inputNotes:
input() always returns a string, convert to other types as needed
int
Data TypesInteger numbers in Python
Syntax:
int_var = number
Examples:
x = 42
Positive integery = -17
Negative integerz = int('123')
Convert string to integerbinary = 0b1010 # 10 in decimal
Binary literalNotes:
Python integers have unlimited precision
float
Data TypesFloating point numbers in Python
Syntax:
float_var = number.decimal
Examples:
pi = 3.14159
Float literalscientific = 1.5e6 # 1,500,000
Scientific notationresult = float('3.14')
Convert string to floatinfinity = float('inf')
Represent infinityNotes:
Floats are double precision by default
str
Data TypesText strings in Python
Syntax:
'string' or "string" or '''multi-line'''
Examples:
name = 'Alice'
Single quotesmessage = "Hello World"
Double quotesmultiline = '''Line 1
Line 2
Line 3'''
Multi-line stringformatted = f'Hello {name}!'
f-string formattingNotes:
Strings are immutable in Python
bool
Data TypesBoolean values True and False
Syntax:
bool_var = True/False
Examples:
is_valid = True
Boolean Trueis_empty = False
Boolean Falseresult = bool(1) # True
Convert to booleancheck = 5 > 3 # True
Boolean from comparisonNotes:
Only True and False (capitalized) are boolean values
list
Data StructuresOrdered, mutable collection of items
Syntax:
my_list = [item1, item2, item3]
Examples:
numbers = [1, 2, 3, 4, 5]
List of integersfruits = ['apple', 'banana', 'cherry']
List of stringsmixed = [1, 'hello', True, 3.14]
Mixed data typesempty = []
Empty listNotes:
Lists are ordered and allow duplicates. Use square brackets []
List Methods
Data StructuresCommon methods for list manipulation
Syntax:
list.method()
Examples:
fruits.append('orange')
Add item to endfruits.insert(1, 'grape')
Insert at specific positionfruits.remove('banana')
Remove first occurrenceitem = fruits.pop()
Remove and return last itemNotes:
Lists are mutable - methods modify the original list
dict
Data StructuresKey-value pairs collection
Syntax:
my_dict = {'key1': 'value1', 'key2': 'value2'}
Examples:
person = {'name': 'John', 'age': 30}
Dictionary with string and int valuescolors = dict(red='#FF0000', blue='#0000FF')
Dictionary using dict() constructorempty = {}
Empty dictionarynested = {'person': {'name': 'Alice', 'age': 25}}
Nested dictionaryNotes:
Dictionaries are unordered and keys must be immutable
tuple
Data StructuresOrdered, immutable collection of items
Syntax:
my_tuple = (item1, item2, item3)
Examples:
coordinates = (10, 20)
Tuple of coordinatescolors = ('red', 'green', 'blue')
Tuple of stringssingle = (42,)
Single item tuple (note the comma)empty = ()
Empty tupleNotes:
Tuples are immutable - cannot be changed after creation
set
Data StructuresUnordered collection of unique items
Syntax:
my_set = {item1, item2, item3}
Examples:
unique_numbers = {1, 2, 3, 4, 5}
Set of unique numbersletters = set('hello') # {'h', 'e', 'l', 'o'}
Set from stringempty = set()
Empty set (cannot use {})fruits = {'apple', 'banana', 'apple'} # duplicates removed
Automatic duplicate removalNotes:
Sets automatically remove duplicates and are unordered
if/elif/else
Control FlowConditional statements for decision making
Syntax:
if condition:
# code
elif condition:
# code
else:
# code
Examples:
if age >= 18:
print('Adult')
Simple if statementif score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
else:
grade = 'C'
if-elif-else chainif x > 0 and x < 100:
print('Valid range')
Multiple conditions with 'and'result = 'positive' if x > 0 else 'non-positive'
Ternary operatorNotes:
Python uses indentation to define code blocks - no braces needed
for loop
Control FlowIterate over sequences or ranges
Syntax:
for item in sequence:
# code
Examples:
for i in range(5):
print(i)
Loop through range 0-4for fruit in fruits:
print(fruit)
Loop through list itemsfor i, item in enumerate(fruits):
print(f'{i}: {item}')
Loop with index using enumeratefor key, value in person.items():
print(f'{key}: {value}')
Loop through dictionary itemsNotes:
for loops work with any iterable object
while loop
Control FlowRepeat code while condition is true
Syntax:
while condition:
# code
Examples:
count = 0
while count < 5:
print(count)
count += 1
Basic while loopwhile True:
user_input = input('Enter quit to exit: ')
if user_input == 'quit':
break
Infinite loop with breakx = 10
while x > 0:
print(x)
x -= 1
Countdown loopNotes:
Be careful to avoid infinite loops - ensure the condition eventually becomes false
break/continue
Control FlowControl loop execution flow
Syntax:
break # exit loop
continue # skip to next iteration
Examples:
for i in range(10):
if i == 5:
break
print(i)
Break out of loop at i=5for i in range(10):
if i % 2 == 0:
continue
print(i)
Skip even numbersfor i in range(3):
for j in range(3):
if j == 1:
break
print(i, j)
Break only affects inner loopNotes:
break exits the loop completely, continue skips to next iteration
def
FunctionsDefine a function in Python
Syntax:
def function_name(parameters):
# code
return value
Examples:
def greet(name):
return f'Hello, {name}!'
Simple function with parameterdef add(a, b):
return a + b
Function with multiple parametersdef say_hello():
print('Hello!')
Function with no parameters or returndef greet(name='World'):
return f'Hello, {name}!'
Function with default parameterNotes:
Functions must be defined before they are called
lambda
FunctionsCreate anonymous functions
Syntax:
lambda parameters: expression
Examples:
square = lambda x: x**2
Lambda function to square a numberadd = lambda a, b: a + b
Lambda function with multiple parametersnumbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
Using lambda with map()even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
Using lambda with filter()Notes:
Lambda functions are limited to single expressions
*args **kwargs
FunctionsVariable number of arguments
Syntax:
def func(*args, **kwargs):
Examples:
def sum_all(*args):
return sum(args)
Accept any number of positional argumentsdef print_info(**kwargs):
for key, value in kwargs.items():
print(f'{key}: {value}')
Accept any number of keyword argumentsdef flexible_func(*args, **kwargs):
print('Args:', args)
print('Kwargs:', kwargs)
Accept both *args and **kwargsflexible_func(1, 2, 3, name='Alice', age=30)
Call with mixed argumentsNotes:
*args collects positional arguments, **kwargs collects keyword arguments
class
ClassesDefine a class in Python
Syntax:
class ClassName:
def __init__(self, parameters):
# constructor
Examples:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
Basic class definitionclass Dog:
species = 'Canis lupus' # class variable
def __init__(self, name):
self.name = name # instance variable
Class with class and instance variablesperson = Person('Alice', 30)
Create an instance of the classNotes:
Use PascalCase for class names. __init__ is the constructor method
Class Methods
ClassesMethods inside a class
Syntax:
def method_name(self, parameters):
# code
Examples:
class Calculator:
def add(self, a, b):
return a + b
Instance methodclass Person:
def __init__(self, name):
self.name = name
def introduce(self):
return f'Hi, I am {self.name}'
Method using instance variableclass Circle:
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14159 * self.radius ** 2
Method performing calculationNotes:
All instance methods must have 'self' as the first parameter
Inheritance
ClassesCreate a class that inherits from another
Syntax:
class ChildClass(ParentClass):
Examples:
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
pass
Parent classclass Dog(Animal):
def speak(self):
return f'{self.name} says Woof!'
Child class inheriting from Animalclass Cat(Animal):
def speak(self):
return f'{self.name} says Meow!'
Another child classdog = Dog('Buddy')
print(dog.speak()) # Buddy says Woof!
Using inherited classNotes:
Child classes inherit all methods and attributes from parent class
len()
Built-in FunctionsGet the length of a sequence
Syntax:
len(sequence)
Examples:
len('hello')
Length of string (5)len([1, 2, 3, 4])
Length of list (4)len({'a': 1, 'b': 2})
Length of dictionary (2)len((1, 2, 3))
Length of tuple (3)Notes:
Works with any sequence or collection type
type()
Built-in FunctionsGet the type of an object
Syntax:
type(object)
Examples:
type(42)
Returns <class 'int'>type('hello')
Returns <class 'str'>type([1, 2, 3])
Returns <class 'list'>type(3.14)
Returns <class 'float'>Notes:
Useful for debugging and type checking
range()
Built-in FunctionsGenerate a sequence of numbers
Syntax:
range(start, stop, step)
Examples:
list(range(5))
[0, 1, 2, 3, 4] - stop onlylist(range(2, 8))
[2, 3, 4, 5, 6, 7] - start and stoplist(range(0, 10, 2))
[0, 2, 4, 6, 8] - with steplist(range(10, 0, -1))
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1] - reverseNotes:
range() is commonly used in for loops
List Comprehension
ComprehensionsCreate lists using compact syntax
Syntax:
[expression for item in iterable if condition]
Examples:
squares = [x**2 for x in range(5)]
[0, 1, 4, 9, 16] - squares of 0-4evens = [x for x in range(10) if x % 2 == 0]
[0, 2, 4, 6, 8] - even numberswords = ['hello', 'world', 'python']
lengths = [len(word) for word in words]
[5, 5, 6] - lengths of wordsmatrix = [[i*j for j in range(3)] for i in range(3)]
Nested comprehension for 2D matrixNotes:
More concise and often faster than traditional loops
Dictionary Comprehension
ComprehensionsCreate dictionaries using compact syntax
Syntax:
{key_expr: value_expr for item in iterable if condition}
Examples:
squares = {x: x**2 for x in range(5)}
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}word_lengths = {word: len(word) for word in ['cat', 'dog', 'bird']}
{'cat': 3, 'dog': 3, 'bird': 4}filtered = {k: v for k, v in original_dict.items() if v > 10}
Filter dictionary by valuesNotes:
Useful for transforming existing dictionaries
try/except
Exception HandlingHandle errors gracefully
Syntax:
try:
# risky code
except ExceptionType:
# handle error
Examples:
try:
result = 10 / 0
except ZeroDivisionError:
print('Cannot divide by zero')
Handle specific exceptiontry:
age = int(input('Enter age: '))
except ValueError:
print('Please enter a valid number')
Handle invalid inputtry:
file = open('data.txt')
except FileNotFoundError:
print('File not found')
finally:
print('This always runs')
Using finally blockNotes:
Use specific exception types when possible, avoid bare except:
open()
File OperationsRead and write files
Syntax:
open(filename, mode)
Examples:
with open('file.txt', 'r') as f:
content = f.read()
Read entire filewith open('file.txt', 'w') as f:
f.write('Hello World')
Write to filewith open('data.txt', 'r') as f:
lines = f.readlines()
Read all lines into listwith open('log.txt', 'a') as f:
f.write('New log entry\n')
Append to fileNotes:
Use 'with' statement for automatic file closing
os module
LibrariesOperating system interface
Syntax:
import os
Examples:
import os
print(os.getcwd())
Get current working directoryos.listdir('.')
List files in directoryos.path.exists('file.txt')
Check if file existsos.makedirs('new_folder', exist_ok=True)
Create directoryNotes:
Essential for file system operations
sys module
LibrariesSystem-specific parameters and functions
Syntax:
import sys
Examples:
import sys
print(sys.version)
Python version informationsys.argv
Command line argumentssys.exit()
Exit the programsys.path.append('/custom/path')
Add to Python pathNotes:
Useful for system information and program control
json module
LibrariesJSON data handling
Syntax:
import json
Examples:
import json
data = json.loads('{"name": "Alice", "age": 30}')
Parse JSON stringjson_string = json.dumps({'name': 'Bob', 'age': 25})
Convert to JSON stringwith open('data.json', 'r') as f:
data = json.load(f)
Load JSON from filewith open('output.json', 'w') as f:
json.dump(data, f, indent=2)
Save JSON to fileNotes:
Essential for API communication and data storage
datetime module
LibrariesDate and time handling
Syntax:
import datetime
Examples:
from datetime import datetime
now = datetime.now()
Current date and timebirthday = datetime(1990, 5, 15)
Specific dateformatted = now.strftime('%Y-%m-%d %H:%M:%S')
Format datetime as stringfrom datetime import timedelta
future = now + timedelta(days=30)
Add time durationNotes:
Use for timestamps, scheduling, and time calculations
String Manipulation
String MethodsCommon string operations
Syntax:
string.method()
Examples:
'hello world'.upper()
'HELLO WORLD' - convert to uppercase'PYTHON'.lower()
'python' - convert to lowercase' spaces '.strip()
'spaces' - remove whitespace'apple,banana,cherry'.split(',')
['apple', 'banana', 'cherry'] - split stringNotes:
Strings are immutable - methods return new strings
String Formatting
String MethodsFormat strings with variables
Syntax:
f'text {variable}' or 'text {}'.format(variable)
Examples:
name = 'Alice'
f'Hello {name}!'
f-string formatting (preferred)'Hello {}!'.format(name)
.format() methodf'{3.14159:.2f}'
'3.14' - format float to 2 decimalsf'{42:>5}'
' 42' - right-align in 5 charactersNotes:
f-strings (Python 3.6+) are the most readable and efficient
Python Programming Tips
Best Practices
- • Follow PEP 8 style guidelines for consistent, readable code
- • Use meaningful variable and function names that describe their purpose
- • Keep functions small and focused on a single task
- • Use list comprehensions for simple transformations and filtering
- • Handle exceptions appropriately with try/except blocks
Performance Tips
- • Use built-in functions and libraries - they're optimized in C
- • Choose appropriate data structures (list vs set vs dict)
- • Use generators for memory-efficient iteration over large datasets
- • Avoid global variables and prefer local scope when possible
- • Use f-strings for string formatting - they're fastest and most readable
Common Python Patterns
Pythonic Patterns
- • EAFP: Easier to Ask for Forgiveness than Permission
- • Duck Typing: "If it walks like a duck, it's a duck"
- • Context Managers: Use 'with' for resource management
- • Enumerate: Use enumerate() instead of range(len())
Data Processing
- • List Comprehensions: Concise data transformations
- • Generator Expressions: Memory-efficient processing
- • Zip Function: Combine multiple iterables
- • Map/Filter/Reduce: Functional programming approach
Learning Python
Getting Started
- • Install Python from python.org
- • Set up IDE (PyCharm, VS Code, or IDLE)
- • Learn basic syntax and data types
- • Practice with simple scripts
Intermediate Topics
- • Object-Oriented Programming
- • File handling and I/O operations
- • Error handling and debugging
- • Working with APIs and JSON
Advanced Topics
- • Decorators and metaclasses
- • Async programming with asyncio
- • Testing with unittest/pytest
- • Package management with pip
Quick Reference Guide
Data Types Reference
Basic Data Types
Type | Example | Mutable | Description |
---|---|---|---|
int | 42 | No | Integer numbers |
float | 3.14 | No | Floating point |
str | 'hello' | No | Text strings |
bool | True | No | Boolean values |
list | [1, 2, 3] | Yes | Ordered collection |
dict | {'a': 1} | Yes | Key-value pairs |
tuple | (1, 2, 3) | No | Immutable sequence |
set | {1, 2, 3} | Yes | Unique items |
Common Operations
type(obj) - Get object type
isinstance(obj, type) - Check if object is of type
int(), float(), str(), bool() - Convert types
list(), tuple(), set(), dict() - Convert collections
len(obj) - Get length of sequence/collection
sys.getsizeof(obj) - Get memory size
Common Built-in Functions
Data Processing
- •
len()
- Get length - •
sum()
- Sum numbers - •
min()
- Find minimum - •
max()
- Find maximum - •
sorted()
- Sort sequence
Iteration
- •
range()
- Generate numbers - •
enumerate()
- Add indices - •
zip()
- Combine sequences - •
map()
- Apply function - •
filter()
- Filter items
I/O & Utilities
- •
print()
- Output text - •
input()
- Get user input - •
open()
- Open files - •
type()
- Get object type - •
help()
- Get documentation