我在 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/