我尝试创建以下功能:
def 3utr():
do_something()
. 但是,我得到一个 SyntaxError。用“三”代替“3”可以解决问题。
我的问题是:
- 为什么是语法错误?
- 有没有办法让函数名在 Python 3 中以数字开头?
我尝试创建以下功能:
def 3utr():
do_something()
. 但是,我得到一个 SyntaxError。用“三”代替“3”可以解决问题。
我的问题是:
这是一个语法错误,因为语言规范不允许标识符以数字开头。因此,Python 中不可能有以数字开头的函数名(即标识符)。
identifier ::= (letter|"_") (letter | digit | "_")*
在 ASCII 范围 (U+0001..U+007F) 内,标识符的有效字符与 Python 2.x 中的相同:大写和小写字母 A 到 Z、下划线 _ 以及除第一个字符外,数字 0 到 9。
一种解决方法是使用罗马数字:
>>> def xxiv():
... print("ok\n")
...
>>> xxiv()
ok