Both built-in and user-defined data structures in Python can have characteristics and features that qualify them to be considered mutable or immutable. This article explains why Python makes this distinction for built-in data structures, breaks down the independent characteristics that are often associated with immutable data structures, and explores several approaches you can employ when addressing a use case within which you must define an immutable data structure of your own.