Overloading refers to making a method perform different operations based on the nature of its arguments.
Unlike in other programming languages, methods cannot be explicitly overloaded in Python but can be implicitly overloaded.
In order to include optional arguments, we assign default values to those arguments rather than creating a duplicate method with the same name. If the user chooses not to assign a value to the optional parameter, a default value will automatically be assigned to the variable.