4

我尝试创建以下功能: def 3utr(): do_something(). 但是,我得到一个 SyntaxError。用“三”代替“3”可以解决问题。

我的问题是:

  • 为什么是语法错误?
  • 有没有办法让函数名在 Python 3 中以数字开头?
4

2 回答 2

10

这是一个语法错误,因为语言规范不允许标识符以数字开头。因此,Python 中不可能有以数字开头的函数名(即标识符)。

identifier ::= (letter|"_") (letter | digit | "_")*

Python 2 语言参考

在 ASCII 范围 (U+0001..U+007F) 内,标识符的有效字符与 Python 2.x 中的相同:大写和小写字母 A 到 Z、下划线 _ 以及除第一个字符外,数字 0 到 9

Python 3 语言参考

于 2012-12-07T01:42:33.397 回答
0

一种解决方法是使用罗马数字:

>>> def xxiv():
...     print("ok\n")
... 
>>> xxiv()
ok
于 2021-07-30T23:28:11.590 回答