Class là cơ chế tổ chức code thành các mảnh generic, reusable (tái sử dụng). Tốt nhất là reusable code snippets dùng lại nhiều lần với ít hoặc không sửa đổi. Khái niệm class lấy cảm hứng từ tập hợp sinh học của đặc điểm (attributes) và khả năng (methods).
Functions tuyệt vời khi data quan trọng đến công việc. Classes tuyệt vời khi cần biểu diễn tập hợp attributes và methods dùng lại ở nhiều nơi.
Thông thường: nếu viết function trong function, cân nhắc viết class thay thế. Nếu class chỉ có một function, tốt hơn viết function đơn giản.
Lý do tốt chuyển từ functions sang classes: viết classes dùng composition over inheritance (thành phần hơn kế thừa).