我使用keyword内置模块来获取当前Python版本的所有关键字的列表.我就是这么做的:

>>> import keyword
>>> print(keyword.kwlist)
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

keyword.kwlist人名单中有__peg_parser__人.为了了解它的功能,我在Windows上的Python 3.9解释器中键入__peg_parser__(在Mac OS和Linux上也会得到相同的输出),下面是它的功能:

>>> __peg_parser__
  File "<stdin>", line 1
    __peg_parser__
    ^
SyntaxError: You found it!

所以我的问题是,什么是__peg_parser__,为什么我得到SyntaxError: You found it!

推荐答案

这是一枚复活节彩蛋,与the new PEG parser枚彩蛋的推出有关.复活节彩蛋,以及旧的LL(1)解析器,will be removed in 3.10.

Python-3.x相关问答推荐

Gekko优化超出了方程式的界限(由于某种原因,会产生变量)

按小时和日期对Pandas 数据帧进行分组

Django将任何查询显示为html表格

Pandas 根据条件增加Dataframe列

如何使用魔杖扭曲图像

CDKTF ec2 具有特定私有 IP 地址的娱乐

CSV-DAT 转换时将引号添加到数据中

隐藏Cartopy中高纬度非矩形投影的右侧轴(纬度)标签

仅当从 USB 摄像头接收到新图像时才处理图像

Python.在循环中填充字典的问题

以编程方式映射 uniprot ID 时如何解决 400 客户端错误?

例外:使用 Pyinstaller 时找不到 PyQt5 插件目录,尽管 PyQt5 甚至没有被使用

Python 3 变量名中接受哪些 Unicode 符号?

如何使用python将放置在多个嵌套文件夹中的文档移动和重命名为一个新的单个文件夹?

为什么 string.maketrans 在 Python 3.1 中不起作用?

Python3 - 如何从现有抽象类定义抽象子类?

Python pathlib 获取父级相对路径

Windows 下 Python 3.x 的 OpenCV

如何对字典的函数输出列表进行单元测试?

在 Ipython 中使用 Pylint (Jupyter-Notebook)