ID EN
Functools

total_ordering

Python 3.11 🇮🇩 Bahasa Indonesia

Mengingat kelas yang mendefinisikan satu atau lebih metode pengurutan perbandingan kaya, dekorator kelas ini menyediakan sisanya. Hal ini menyederhanakan upaya yang dilakukan dalam menentukan semua kemungkinan operasi perbandingan kaya:

Syntax

PYTHON
@functools.total_ordering

Contoh

Example 1
PYTHON
@total_ordering
class Student:
    def _is_valid_operand(self, other):
        return (hasattr(other, "lastname") and
                hasattr(other, "firstname"))
    def __eq__(self, other):
        if not self._is_valid_operand(other):
            return NotImplemented
        return ((self.lastname.lower(), self.firstname.lower()) ==
                (other.lastname.lower(), other.firstname.lower()))
    def __lt__(self, other):
        if not self._is_valid_operand(other):
            return NotImplemented
        return ((self.lastname.lower(), self.firstname.lower()) <
                (other.lastname.lower(), other.firstname.lower()))