Class Customization and Operator Overloading

Class customization

Class customization allows you to define how a class behaves for specific operations such as printing or accessing attributes.

Customize classes by creating instances methods using special method names (double underscores).

Rich comparison methods overload some common comparison operators.

Rich comparison method

Overloaded operator

__lt__(self, other)

Less than (<)

__le__(self, other)

Less than or equal-to (<=)

__gt__(self, other)

Greater than (>)

__ge__(self, other)

Greater than or equal-to (>=)

__eq__(self, other)

Equal to (==)

__ne__(self, other)

Not equal to (!=)

 

Operator overloading

Operator Overloading allows you to replace the functionality of numeric operators (such as +, -, *, and /) with a method.

For example, you can write an __add__(self, other) method to replace the functionality of the (+) operator.

Use the built-in isinstance() method to handle different object types for the operation.

Method

Description

__add__(self, other)

Add (+)

__sub__(self, other)

Subtract (-)

__mul__(self, other)

Multiply (*)

__truediv__(self, other)

Divide (/)

__floordiv__(self, other)

Floored division (//)

__mod__(self, other)

Modulus (%)

__pow__(self, other)

Exponentiation (**)

__and__(self, other)

"and" logical operator

__or__(self, other)

"or" logical operator

__abs__(self)

Absolute value (abs())

__int__(self)

Convert to integer (int())

__float__(self)

Convert to floating point (float())

Cerca
Categorie
Leggi tutto
Chemistry
MARKING GUIDE FOR UMTA UCE CHEMISTRY PAPER 1 2024
MARKING GUIDE FOR UMTA UCE CHEMISTRY PAPER 1 2024
By Landus Mumbere Expedito 2024-08-19 20:56:42 0 11K
Technology
Computer Netwrks
A computer network is a collection of interconnected devices that share resources and...
By Mpatswe Francis 2024-10-03 23:03:52 0 10K
Formazione
Unlock Your Potential with Lifelong Learning
In today’s fast-paced, ever-changing world, the concept of lifelong learning has become...
By ALAGAI AUGUSTEN 2024-07-21 19:03:27 0 15K
Computer Programming
Dynamic Typing, Stubs, and Namespaces in Python
Here's a breakdown of these three concepts in Python: 1. Dynamic Typing: Python is a...
Business
Build Meaningful Connections and Watch Your Business Thrive
Networking is Key! Build Meaningful Connections and Watch Your Business Thrive In the fast-paced...
By ALAGAI AUGUSTEN 2024-07-23 17:42:22 0 18K
Talksphare https://talksphare.com