# Encapsulation
Encapsulation refers to the bundling of related data and methods into a single unit, which is called an object. The idea is to hide the internal workings of these objects to protect the data and maintain integrity. Encapsulation is achieved in Python using classes and private attributes/methods.
In Python, you can denote a method or an attribute as private by prefixing it with an underscore _, and such attributes or methods should not be accessed directly. However, Python doesn't enforce strict encapsulation like Java or C++. Python's philosophy is "we're all consenting adults here", meaning if you really need to access something, Python won't stop you.
```python
class EncapsulatedClass:
def __init__(self):
self.public_data = "Public data"
self._private_data = "Private data"
```