Почему старая версия «Байта Python» утверждает, что # - оператор менее равных? - PullRequest
0 голосов
/ 21 февраля 2019

Кто-то только что показал мне старую PDF версию байт Python .По его словам, это версия 3.0 (из книги, а не из Python) и с 2014 года. В разделе Операторы, есть раздел, который выходит

# (меньше или равно)

Возвращает значение x, меньшее или равное y
x = 3; y = 6; x # y возвращает True.

В Python 2.7 и Python 3.6 этоявно неправильно.Также это будет очень плохой дизайн, так как # также является оператором комментария.

Текущая версия изменила это значение с # на <=.Мне любопытно, почему старая версия утверждала это.

Мои исследования и мысли до сих пор

  • Я не могу найти в Интернете ничего, что какая-то старая версия Python позволяла это.
  • Я не могу найти никаких изменений или ошибок в этом.
  • Так как предполагаемая ошибка сделана дважды, я не ожидаю, что это будет опечатка.
  • Я не ожидаю этогобыть некоторой ошибкой автоконверсии, поскольку нужно будет преобразовать два символа ASCII (<=) в один (#).

1 Ответ

0 голосов
/ 21 февраля 2019

Версия 3.0 книги была написана на AsciiDoc.Этот язык разметки определяет особое значение для некоторых конструкций, таких как двойная стрелка влево <=, которая преобразуется в один символ Unicode при преобразовании в окончательный вывод.Это задокументировано в его синтаксическом описании на https://asciidoctor.org/docs/asciidoc-syntax-quick-reference/#text-replacement

. Теперь кажется, что во время разговора с PDF этот символ был потерян и заменен символом фунта.Это (как и первоначальный разговор последовательности <= с самим символом стрелки), очевидно, является ошибкой.

Поскольку текущая версия книги была преобразована в Markdown, эта ошибка уже была исправлена ​​там.Таким образом, вы, скорее всего, захотите использовать текущую версию книги, которую вы можете загрузить из GitBook .

...