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
Altre informazioni
Israeli Defense Minister Cancels Visit with Pentagon Chief Amid Rising Tensions
Tel Aviv, October 9, 2024 – In a significant development, Israeli Defense Minister...
By Updates & History 2024-10-09 17:53:53 0 13K
Computer Programming
F-String Formatting
F-strings are a powerful and concise way to format strings in Python introduced in Python 3.6....
Computer Programming
HTML Table Borders: A Closer Look
HTML table borders are used to outline the individual cells and rows within a table, making it...
By HTML PROGRAMMING LANGUAGE 2024-09-06 01:25:50 0 12K
Technology
Web Design Tools and Technologies
Web Design Tools and Technologies Web design has evolved dramatically over the past few decades,...
By ALAGAI AUGUSTEN 2024-07-26 17:47:49 0 21K
Formazione
A MUST KNOW FOR S6 HISTORY STUDENTS
https://acrobat.adobe.com/id/urn:aaid:sc:EU:8ec647ff-c6ae-4844-831f-3f6e719e9bb0
By Landus Mumbere Expedito 2024-07-15 19:59:30 0 13K
Tebtalks https://forum.tebtalks.com