Encapsulation
Source: 8-Class And Objects/8.4-Encapsulation.ipynb
Start here — no coding background needed
What you will learn
Hide internal details — expose only what is safe.
In simple words
Private-ish fields (leading `_`) mean "do not touch from outside unless through methods".
Group data and actions together — used in bigger apps; go slow, use analogies.
Easy example — run this first. Change values and press Run again.
Runs in your browser via Pyodide — no server. First run may take a few seconds.
Reference notes (from full bootcamp)
Optional — deeper detail for when you are ready
Encapsulation And Abstraction
Encapsulation and abstraction are two fundamental principles of Object-Oriented Programming (OOP) that help in designing robust, maintainable, and reusable code. Encapsulation involves bundling data and methods that operate on the data within a single unit, while abstraction involves hiding complex implementation details and exposing only the necessary features.
Encapsulation
Encapsulation is the concept of wrapping data (variables) and methods (functions) together as a single unit. It restricts direct access to some of the object's components, which is a means of preventing accidental interference and misuse of the data.
Expected (from notebook): 'Anshul'
Runs in your browser via Pyodide — no server. First run may take a few seconds.
Expected (from notebook): ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'age', 'name']
Runs in your browser via Pyodide — no server. First run may take a few seconds.
Runs in your browser via Pyodide — no server. First run may take a few seconds.
Expected (from notebook): ['_Person__age', '_Person__name', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'gender']
Runs in your browser via Pyodide — no server. First run may take a few seconds.
Expected (from notebook): Anshul
Runs in your browser via Pyodide — no server. First run may take a few seconds.
Expected (from notebook): Anshul 34 35 Age cannot be negative.
Runs in your browser via Pyodide — no server. First run may take a few seconds.
Practice test — try yourself
Write code, press Check. Wrong answer shows the correct code to copy & run.
You learned "Encapsulation". Use print() to show: Done: Encapsulation
Hint: Use one print() with the exact text.