编程语言
首页 > 编程语言> > Python上“def”之后的字符串是什么? (不是文档字符串)

Python上“def”之后的字符串是什么? (不是文档字符串)

作者:互联网

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

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

此代码使用库层(.lex)

我有一些Python的经验和知识,但我对此过程定义行之后的第一行非常困惑.

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

我已经完成了通常的Google和SO搜索,但无法找到它实际上是什么.

提前感谢您的所有答案和解释.

解决方法:

该字符串是docstring,可以作为t_WORD .__ doc__访问. PLY库使用它为函数分配规则.

在这种情况下,PLY正在使用docstrings来达到自己的目的.该字符串被分配给__doc__属性,任何人都可以读取该字符串.在这种情况下,PLY使用它来构造解析器.

标签:python,python-2-7,docstring
来源: https://codeday.me/bug/20190901/1783468.html