Если вы используете утиную печать в Python, следует ли тестировать isinstance?

У вас есть класс Python, который нуждается в проверке на равенство. Python должен использовать утиную типизацию, но (лучше/точнее) включать или исключать тест isinstance в функции eq? Например:

class Trout(object):
    def __init__(self, value):
        self.value = value

    def __eq__(self, other):
        return isinstance(other, Trout) and self.value == other.value
17
задан amcnabb 23 March 2012 в 22:52
поделиться