Какова цель метода подсчета класса range? - PullRequest
0 голосов
/ 25 января 2020

Я обнаружил, что класс range определяет метод с именем count, который возвращает количество вхождений значения.

Я думаю, что его следует заменить методом exists, возвращающим True или False в случае, если значение есть или нет в объекте. Фактически, число, возвращаемое методом count, равно либо O, либо 1, по моему мнению, оно не может быть больше.

Ответы [ 2 ]

2 голосов
/ 25 января 2020

count - это метод Sequence с. range реализует count, так что его можно правильно считать Sequence и эффективно реализовывать его так, как он считает нужным; даже если это не самая полезная операция для этого типа.

Он также реализует __contains__, и я не удивлюсь, если count реализован в терминах __contains__.

1 голос
/ 25 января 2020

exists уже реализован как оператор in; вы можете использовать это для желаемого приложения.

count реализовано, потому что range - это Sequence, как и list, tuple и str. Таким образом, count должен существовать и соответствовать его функциональности в других Sequence типах.

...