【发布时间】:2012-11-25 04:27:01
【问题描述】:
我尝试创建以下函数:
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
【讨论】: