@warchant
Пишу всё на всём

Как сравнить между собой объекты в Python?

Глупо звучит, но мне необходимо написать функцию, которая принимает на вход один аргумент и возвращает нечто, что потом сравнится с math и re. Не задавайте вопросов зачем, просто скажите как это сделать :) Спасибо.

def func(anything):
    return something

import math
import re

# оба должны быть True
func(re) <= re 
func(re) >= math

Если просто возвращать входной аргумент, то получается вот что:

TypeError: unorderable types: module() >= module()
  • Вопрос задан
  • 442 просмотра
Решения вопроса 1
@deliro
Возвращаемый объект должен иметь методы __ge__ и __le__

class A(object):
    def __ge__(self, other):
        return True

    def __le__(self, other):
        return True


Можешь добавить условие if other.__name__ in ('re', 'math'), если сравнение делается с другими объектами.
Удачи в говнокоде :)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы