Why should you use private and protected methods instead of defining all methods as public in Python?

Experience Level: Junior
Tags: Python

Answer

Private and protected methods decrease visibility of method. They signal that the method shouldn't be called from outside of the class.

This simplifies refactoring, because you know that the private and protected methods shouldn't be called from outside of the class and when you are renaming the methods, changing their parameters or return value data type, you know that you need to review only callers from within the class for the private method and from within the class and its subclasses for the protected method.

Note that in Python private and public methods are just named conventions, in reality nothing is preventing those methods from being called from outside of class. However, it is a good practice not to do so because the code author has communicated via the naming convention: "Hey, don't call this method from outside..."

Python for beginners
Python for beginners

Are you learning Python ? Try our test we designed to help you progress faster.

Test yourself