我阅读了Python的语法文件(https://docs.python.org/3/reference/grammar.html),但我不明白TFPDEF和FPDEF的含义。我希望你能帮助我:)
答案 0 :(得分:0)
Python 3.8 version上有更多评论对此进行了解释
它们基本上只是NAME
(T
变体具有可选的类型声明),因此:
def foo(a, b): pass
将通过以下规则子集进行解析:
funcdef: 'def' NAME parameters ':' func_body_suite
parameters: '(' [typedargslist] ')'
typedargslist: tfpdef (',' tfpdef)*
tfpdef: NAME
func_body_suite: simple_stmt
simple_stmt: small_stmt NEWLINE
small_stmt: pass_stmt
答案 1 :(得分:0)
根据[Python 3]: Full Grammar specification中此类标识符的命名方式,可以得出以下结论(因为我没有看到任何正式声明):
tfpdef :
fpdef :
还有一个 vfpdef (用于描述 vararg )。我想 v 的来源很明显。