Как исправить ошибку v3 в Python3 Ebook? - PullRequest
0 голосов
/ 26 сентября 2019

Электронная книга "Шаблоны, рецепты и идиомы Python 3" содержит ошибку преобразования V3 в разделе о конечных автоматах .Ссылка «Редактировать в Bitbucket» ведет к 404, и, похоже, нет другого способа сообщить о проблеме.Есть ли способ сообщить об этом или отредактировать книгу?

Вот подробности: потому что cmp больше не соблюдается в v3 cmp метод здесь

class MouseAction:
def __init__(self, action):
    self.action = action
def __str__(self): return self.action
def __cmp__(self, other):                      # <<--------
    return cmp(self.action, other.action)      # <<--------
# Necessary when __cmp__ or __eq__ is defined
# in order to make this class usable as a
# dictionary key:
def __hash__(self):
    return hash(self.action)

должен быть заменен на

    def __eq__(self, other):
        return self.action == other.action

Технически __eq__ возвращает логическое значение, тогда как __cmp__ в версии 2 вернул число.Однако код в этом примере, кажется, работает нормально с этим одним изменением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...