Encapsulation describes the ability of an object to hide its data and methods from the rest of the world and is one of the fundamental principles of object-oriented programming.
In Python, a class encapsulates the fields, which hold the state of an object, and the methods, which define the actions of the object.
Encapsulation enables us to write reusable programs. It also enables us to restrict access only to those features of an object that are declared public. All other fields and methods are private and can be used for internal object processing.