Zapouzdření v OOP se týká ukrytí vnitřních detailů objektu a poskytování veřejných rozhraní pro interakci s daty. V Pythonu se toto dosahuje pomocí konvence, kdy se proměnné, které by měly být chráněny, začínají podtržítkem.
class BankovniUcet:
def __init__(self, majitel, zustatek):
self.majitel = majitel
self.__zustatek = zustatek
def vloz_penez(self, castka):
if castka > 0:
self.__zustatek += castka
def vyber_penez(self, castka):
if castka <= self.__zustatek:
self.__zustatek -= castka
def zobraz_zustatek(self):
return self.__zustatek
V tomto příkladu je proměnná __zustatek
zapouzdřena a není přímo přístupná zvenčí. Přístup k ní je umožněn pouze prostřednictvím veřejných metod.