定义一个以数字开头的函数名(在Python 3中)?

时间:2012-12-07 01:23:57

标签: python-3.x syntax-error

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

我的问题是:

  • 为什么会出现语法错误?
  • 有没有办法让函数名以Python 3中的数字开头?

2 个答案:

答案 0 :(得分:9)

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

  

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

Python 2 Language Reference

  

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

Python 3 Language Reference

答案 1 :(得分:0)

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

>>> def xxiv():
...     print("ok\n")
... 
>>> xxiv()
ok