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

yhqotfr8  于 2023-01-22  发布在  Python
关注(0)|答案(3)|浏览(185)

我尝试过创建以下函数:def 3utr(): do_something()。但是,我得到了一个语法错误。将"3"替换为"three"可以修复问题。
我的问题是:

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

egmofgnx1#

这是一个语法错误,因为语言规范不允许标识符以数字开头,所以在Python中函数名(标识符)不可能以数字开头。
identifier ::= (letter|"_") (letter | digit | "_")*
Python 2语言参考
在ASCII范围(U+0001..U+007F)内,标识符的有效字符与Python 2.x中的相同:大写和小写字母A到Z、下划线_和**(第一个字符除外)、数字0到9**。
Python 3语言参考

hs1ihplo

hs1ihplo2#

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

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

6za6bjd03#

如果你真想与众不同的话。
您可以在标识符前面添加"_"
比如说

def _3utr():

然后调用函数

_3utr()

相关问题