为什么旧版本的“A byte of Python”声称 # 是小于等于运算符?

Wrz*_*mft 3 python operators python-2.x

有人刚刚向我展示了A byte of PythonPDF 版本。根据它本身,它是 3.0 版(本书的,不是 Python 的)和 2014 年的。在操作符部分有一个部分是

# (小于或等于)

返回 x 是否小于或等于 y
x = 3; y = 6; x # y返回True

在 Python 2.7 和 Python 3.6 中,这显然是错误的。这也是非常糟糕的设计,因为#它也是注释操作符。

当前版本将此从 更改#<=。我很好奇为什么旧版本声称这一点。

到目前为止我的研究和想法

  • 我在 Internet 上找不到任何旧版本的 Python 允许这样做的内容。
  • 我找不到任何更改日志或勘误表。
  • 由于假定的错误犯了两次,我不希望它是一个错字。
  • 我不希望它是一些自动转换错误,因为它必须将两个 ASCII 字符 ( <=) 转换为一个 ( #)。

Hol*_*ust 5

本书的 3.0 版是用 AsciiDoc 编写的。这种标记语言为某些结构定义了特殊含义,例如双左箭头<=?在转换为最终输出时将其转换为单个 Unicode 字符。这在https://asciidoctor.org/docs/asciidoc-syntax-quick-reference/#text-replacement 的语法描述中有记录

现在,似乎在与 PDF 的对话过程中,该字符丢失并替换为磅字符。这(以及<=序列与箭头字符本身的初始对话)显然是一个错误。

由于本书的当前版本已转换为 Markdown,因此该错误已在那里修复。因此,您可能希望使用该书的当前版本,您可以从 GitBook下载该版本。