python - Python 中 "def"后面的字符串是什么? (不是文档字符串)

标签 python python-2.7 docstring

我在 Udacity 上看 CS262 的视频,我对这种程序定义感到困惑:

def t_WORD(token):
    r'[^ <>]+' # any reg. exp. ruleset is placed here
    # ... more processing
    # ... more processing
    return token

此代码使用库 ply (.lex)

我有一些 Python 经验和知识,但我对过程定义行之后的第一行感到很困惑。

Python 解释器如何使用、解释或访问该字符串(reg.exp.string)?它只是一个未分配的字符串,没有指向它的变量。

我已经完成了通常的 Google 和 SO 搜索,但找不到它到底是什么。

提前感谢您的所有回答和解释。

最佳答案

该字符串是文档字符串,可作为 t_WORD.__doc__ 访问。 PLY 库使用它为函数分配规则。

在这种情况下,PLY 出于自己的目的使用文档字符串。该字符串被分配给 __doc__ 属性,任何人都可以阅读该字符串。在这种情况下,PLY 使用它来构建解析器。

关于python - Python 中 "def"后面的字符串是什么? (不是文档字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13823290/

相关文章:

python-2.7 - SQLAlchemy的安装未链接到Flask

Python - 数据模型 - 子类与实例

python - 安装 scrapy 清理失败

python - 在 Python 中继承方法的文档字符串

python - 在 python 文档字符串中编写默认值的标准方法是什么?

python - 执行绝对路径包含空格的powershell文件

python - 如何忽略 AttributeError : 'NoneType'

python - 如何以编程方式设置文档字符串?

python - 如何返回false而不是断言错误?

javascript - 如何在 HTML 中填充 Django 表单字段?