Как использовать или реализовать __div__ (python2) вместо __truediv__ в python3 - PullRequest
0 голосов
/ 11 июля 2019

В python2 вы можете выбирать между использованием операторов __div__ или __truediv__ см. Здесь .

В python3 оператор __div__, по-видимому, не существует, поскольку он был полностью заменен на __truediv__.Как я могу использовать оригинальный метод __div__ в скрипте, который должен интерпретироваться python3?

Не имеет значения, перезаписывает ли решение __truediv__ или это просто функция, такая как operator.div () или даже оболочкакоторый запускает python2 для части кода в интерпретируемом скрипте python3 (он вообще существует?).У меня есть скрипт, который мне нужно запустить с python3, и я должен заставить одну строку кода , которая содержит оператор /, работать так же, как это было бы в python2.

1 Ответ

1 голос
/ 11 июля 2019

Использование __floordiv__.

Пример:

class MyClass:
    def __init__(self, n):
        self.n = n
    def __floordiv__(self, other):
        return 'floor division, hello world, %s' % self.n // other
...