ارائهٔ یک مدل ساده و کاربردی از چیز پیچیده: فقط آنچه استفادهکننده برای کارش لازم دارد.
کپسولهسازی «چگونه پنهان کنیم» است و انتزاع «چه نشان دهیم». مثال: راننده فقط فرمان و پدال میبیند (انتزاع) و لازم نیست بداند احتراق چطور کار میکند (جزئیاتِ کپسولهشده).
class Cart:
"""انتزاع سبد: بیرون فقط add و total را میبیند."""
def __init__(self):
self._items = []
def add(self, name, price):
self._items.append({"name": name, "price": price})
def total(self):
return sum(i["price"] for i in self._items)
نشانهٔ انتزاع خوب: استفادهکننده برای کار عادی هیچوقت لازم نیست «داخل» را ببیند. اگر برای هر کاری باید _items را دستکاری کنی، انتزاعت سوراخ است.