我最近浏览了pycparser的代码,看到了一些如下所示的函数:

def t_CPP_WS(t):
    r'\s+'
    t.lexer.lineno += t.value.count("\n")
    return t

r'\s+'是如何工作的?没有函数调用(例如re.match)或任何围绕或使用它的东西.我几乎没有使用Python(主要是Java脚本)的经验,但这不会被忽略吗?

推荐答案

答案分为两部分:

  1. 通常,在Python语言中,您是对的:没有赋值给变量或传递给函数或方法的字符串不会产生任何整体效果.但是,如果Python函数中的第一条语句是字符串文字,则该字符串将成为该函数的文档字符串a special property that Python functions can possess.

  2. 在该PycParser库中提供代码不是纯的Python,而是使用库的层,该库层使用Python文档字符串来定义功能2.

因此,所提供的代码为函数的文档字符串赋值,然后PLY库使用该文档字符串.

Python相关问答推荐

Ibis中是否有一个ANY或ANY_UTE表达,可以让我比较子查询返回的一组值中的值?

如何在PIL、Python中对图像应用彩色面膜?

opencv Python稳定的图标识别

有什么方法可以避免使用许多if陈述

如何在BeautifulSoup中链接Find()方法并处理无?

三个给定的坐标可以是矩形的点吗

将整组数组拆分为最小值与最大值之和的子数组

标题:如何在Python中使用嵌套饼图可视化分层数据?

运行Python脚本时,用作命令行参数的SON文本

如何在Windows上用Python提取名称中带有逗号的文件?

当从Docker的--env-file参数读取Python中的环境变量时,每个\n都会添加一个\'.如何没有额外的?

Django REST Framework:无法正确地将值注释到多对多模型,不断得到错误字段名称字段对模型无效'<><>

计算天数

旋转多边形而不改变内部空间关系

在pandas/python中计数嵌套类别

Pandas:计算中间时间条目的总时间增量

如何将数据帧中的timedelta转换为datetime

从旋转的DF查询非NaN值

用SymPy在Python中求解指数函数

如何在Python中使用Iscolc迭代器实现观察者模式?