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())

Buscar
Categorías
Read More
Mathematics
UACE MACIDITA PURE MATHS MOCK EXAM 2024
UACE MACIDITA PURE MATHS MOCK EXAM 2024
By Expedito 2024-08-13 19:01:30 0 6K
Chemistry
UCE CHEMISTRY PAPER 1 KAMTEC MOCK 2024
UCE CHEMISTRY PAPER 1KAMTEC MOCK 2024
By Expedito 2024-08-11 11:39:15 3 6K
Educación
MODERN AFRICAN NATIONAL HISTORY MADE EASY
https://acrobat.adobe.com/id/urn:aaid:sc:EU:4838a935-5393-417a-a9b9-a4c21d6109cb
By Expedito 2024-07-18 10:47:57 0 6K
Chemistry
NEW CURRICULUM CHEMISTRY PRACTICAL SAMPLES
https://acrobat.adobe.com/id/urn:aaid:sc:EU:4838a935-5393-417a-a9b9-a4c21d6109cb
By Expedito 2024-07-18 19:33:23 0 5K
Technology
COMPUTER NETWORKS
COMPUTER NETWORKS
By Patswe 2024-08-17 17:30:37 0 5K