Introduction
Python is a popular and easy-to-learn programming language. It is used in many fields such as web development, data analysis, automation, artificial intelligence, and more. This cheatsheet covers the most important and commonly used concepts in Python. It is helpful for beginners and also for experienced developers who want to revise the basics quickly.
1. Variables
Definition : Variables are used to store values.
name = "Alice"
age = 25
Note : You do not need to declare the data type in Python.
2. Data Types
Common types :
int,float,str,bool,list,tuple,dict,set
num = 10 # int
price = 5.5 # float
name = "Tom" # str
is_valid = True # bool
3. Lists
Definition: A list is a collection of items. It is mutable (can be changed).
fruits = ["apple", "banana", "cherry"]
fruits.append("orange")
print(fruits[1]) # banana
4. Tuples
Definition: A tuple is similar to a list, but is immutable (cannot be changed).
colors = ("red", "green", "blue")
print(colors[0]) # red
5. Dictionaries
Definition: A dictionary stores data in key-value pairs.
student = {"name": "John", "age": 20}
print(student["name"]) # John
6. Sets
Definition: A set is a collection of unique items.
nums = {1, 2, 3, 2}
print(nums) # {1, 2, 3}
7. Conditional Statements
Used for: Decision making in code.
age = 18
if age >= 18:
print("Adult")
else:
print("Minor")
8. Loops
For loop: Used to repeat actions.
for i in range(5):
print(i)
While loop: Runs while a condition is true.
count = 0
while count < 5:
print(count)
count += 1
9. Functions
Definition: A block of code that runs when called.
def greet(name):
print("Hello", name)
greet("Alice")
10. Classes and Objects
Definition: Used in object-oriented programming.
class Person:
def __init__(self, name):
self.name = name
def say_hello(self):
print("Hi, I am", self.name)
p = Person("David")
p.say_hello()
11. Exception Handling
Used to: Handle errors without stopping the program.
try:
result = 10 / 0
except ZeroDivisionError:
print("Cannot divide by zero")
12. List Comprehension
Definition: A short way to create a new list.
squares = [x*x for x in range(5)]
print(squares) # [0, 1, 4, 9, 16]
13. Importing Modules
Used to: Use built-in or external code libraries.
import math
print(math.sqrt(16)) # 4.0
14. File Handling
Reading a file
with open("file.txt", "r") as f:
content = f.read()
Writing to a file
with open("file.txt", "w") as f:
f.write("Hello, world")
15. Lambda Functions
Definition : A small anonymous function.
add = lambda x, y: x + y
print(add(3, 5)) # 8
16. Map, Filter, Reduce
map(): Applies a function to all items.
nums = [1, 2, 3]
squared = list(map(lambda x: x*x, nums))
filter(): Filters items based on a condition.
even = list(filter(lambda x: x % 2 == 0, nums))
reduce(): Reduces a list to a single value.
from functools import reduce
total = reduce(lambda x, y: x + y, nums)
17. Global and Local Variables
x = 10 # global
def test():
y = 5 # local
print(x + y)
test()
18. String Formatting
name = "Tom"
age = 20
print(f"My name is {name} and I am {age} years old.")
19. Type Conversion
x = "123"
y = int(x) # converts to integer
20. Built-in Functions
Some common ones:
len(),type(),str(),int(),input(),print(),sum(),sorted()
21. Enumerate
Used to: Get index and value while looping.
colors = ["red", "green", "blue"]
for index, color in enumerate(colors):
print(index, color)
22. Zip
Used to: Combine multiple iterables (like lists).
names = ["Alice", "Bob"]
scores = [85, 90]
for name, score in zip(names, scores):
print(name, score)
23. Docstrings
Used to: Write documentation inside functions/classes.
def greet():
"""This function prints a greeting"""
print("Hello")
Access using:
print(greet.__doc__)
24. args and kwargs
Used to: Pass a variable number of arguments.
def add(*args):
return sum(args)
def show(**kwargs):
print(kwargs)
add(1, 2, 3)
show(name="Tom", age=30)
25. Virtual Environment (venv)
Used to: Create an isolated environment for a Python project.
python -m venv env
Activate:
env\Scripts\activate(Windows) orsource env/bin/activate(Linux/Mac)
26. List Methods
Common methods:
a = [1, 2, 3]
a.append(4)
a.remove(2)
a.pop()
a.sort()
a.reverse()
27. Dictionary Methods
d = {"a": 1, "b": 2}
d.keys()
d.values()
d.items()
d.get("a")
28. Comprehensions with Conditions
evens = [x for x in range(10) if x % 2 == 0]
29. Range
Used to: Generate a sequence of numbers.
range(5) # 0 to 4
range(1, 6) # 1 to 5
range(1, 10, 2) # step by 2
30. Type Hints (Python 3.5+)
Used to: Show expected types in functions.
def add(x: int, y: int) -> int:
return x + y
31. Unpacking
Used to: Assign values from a list/tuple to variables.
a, b = [1, 2]
32. Ternary Operator
Short way to write if-else :
result = "Yes" if x > 5 else "No"
33. Chained Comparisons
x = 10
if 5 < x < 15:
print("x is between 5 and 15")
34. Generators
Used to: Create iterators using
yieldkeyword.
def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1
35. Decorators
Used to: Modify the behavior of a function.
def decorator(func):
def wrapper():
print("Before")
func()
print("After")
return wrapper
@decorator
def greet():
print("Hello")
greet()
36. Context Manager (with statement)
Used to: Handle resources like files.
with open("file.txt") as f:
data = f.read()
37. Assertions
Used to: Check conditions during development.
x = 5
assert x > 0, "x must be positive"
38. The __name__ == "__main__" Block
Used to: Run code only when a script is executed directly.
if __name__ == "__main__":
print("Running directly")
39. Using pass , break , continue
pass: Placeholder for empty blocksbreak: Exit a loopcontinue: Skip to next loop iteration
for i in range(5):
if i == 3:
continue
print(i)
40. Global Keyword
Used to: Change a global variable inside a function.
x = 10
def modify():
global x
x = 20
41. is vs ==
==checks if values are equal.ischecks if both variables point to the same object in memory.
a = [1, 2]
b = [1, 2]
print(a == b) # True
print(a is b) # False
42. Python Comments
Single-line:
# This is a commentMulti-line (not officially a comment, but used):
"""
This is
a multiline comment
"""
43. Command Line Arguments with sys.argv
import sys
print(sys.argv[1]) # First command-line argument
44. Using dir() and help()
dir(obj)shows all attributes/methods of an object.help(obj)gives the docstring/documentation.
dir(str)
help(str)
45. Using __init__ and __str__ in Classes
class Car:
def __init__(self, name):
self.name = name
def __str__(self):
return f"Car name: {self.name}"
46. Private Variables (by Convention)
class Example:
def __init__(self):
self._protected = "Warning only"
self.__private = "Strongly private"
47. Python Slicing
text = "abcdef"
print(text[1:4]) # 'bcd'
print(text[:3]) # 'abc'
print(text[::-1]) # reverse string
48. Set Operations
a = {1, 2, 3}
b = {3, 4, 5}
print(a.union(b)) # {1, 2, 3, 4, 5}
print(a.intersection(b)) # {3}
print(a.difference(b)) # {1, 2}
49. Using all() and any()
nums = [1, 2, 3]
print(all(x > 0 for x in nums)) # True
print(any(x > 2 for x in nums)) # True
50. Chained Function Calls
def add(x):
return x + 1
def multiply(x):
return x * 2
print(multiply(add(3))) # 8
51. NamedTuple (from collections )
from collections import namedtuple
Point = namedtuple("Point", "x y")
p = Point(1, 2)
print(p.x, p.y)
52. Defaultdict
from collections import defaultdict
d = defaultdict(int)
d["a"] += 1
print(d) # defaultdict(<class 'int'>, {'a': 1})
53. Counter
from collections import Counter
c = Counter("banana")
print(c) # {'a': 3, 'n': 2, 'b': 1}
54. Date and Time
import datetime
now = datetime.datetime.now()
print(now.strftime("%Y-%m-%d %H:%M"))
55. Regular Expressions (Regex)
import re
text = "abc123"
match = re.search(r"\d+", text)
print(match.group()) # 123
56. JSON Handling
import json
data = {"name": "Tom", "age": 20}
json_str = json.dumps(data)
parsed = json.loads(json_str)
57. Using __slots__ (Memory Optimization in Classes)
class Person:
__slots__ = ['name', 'age']
def __init__(self, name, age):
self.name = name
self.age = age
58. Using type() to Create Classes Dynamically
MyClass = type("MyClass", (object,), {"x": 5})
obj = MyClass()
print(obj.x)
59. Using eval() and exec()
eval()evaluates an expression.exec()runs dynamic code.
x = 10
print(eval("x + 5")) # 15
⚠️ Avoid using
eval()orexec()with user input due to security risks.
60. Unit Testing (with unittest )
import unittest
class TestAdd(unittest.TestCase):
def test_sum(self):
self.assertEqual(2 + 3, 5)
if __name__ == "__main__":
unittest.main()
Conclusion
If you're serious about mastering Python:
For backend development: Learn
Flask,FastAPI, orDjango.For data work: Learn
NumPy,Pandas,Matplotlib,Seaborn.For automation: Learn
Selenium,PyAutoGUI,Requests.For testing: Learn
pytest.
This is now a complete Python cheatsheet for practical use, projects, interviews, and continued learning.

Join the conversation! Your thoughts help the community grow.