operator overloading this continues our in-depth survey of class mechanics by focusing on operator overloading we looked briefly at operator overloading in prior herewe'll fill in more details and look at handful of commonly used overloading methods although we won' demonstrate each of the many operator overloading methods availablethose we will code here are representative sample large enough to uncover the possibilities of this python class feature the basics really "operator overloadingsimply means intercepting built-in operations in class' methods--python automatically invokes your methods when instances of the class appear in built-in operationsand your method' return value becomes the result of the corresponding operation here' review of the key ideas behind overloadingoperator overloading lets classes intercept normal python operations classes can overload all python expression operators classes can also overload built-in operations such as printingfunction callsattribute accessetc overloading makes class instances act more like built-in types overloading is implemented by providing specially named methods in class in other wordswhen certain specially named methods are provided in classpython automatically calls them when instances of the class appear in their associated expressions your class provides the behavior of the corresponding operation for instance objects created from it as we've learnedoperator overloading methods are never required and generally don' have defaults (apart from handful that some classes get from object)if you don' code or inherit oneit just means that your class does not support the corresponding operation when usedthoughthese methods allow classes to emulate the interfaces of built-in objectsand so appear more consistent