Python:函数名可以用空格吗?

5 投票
5 回答
10326 浏览
提问于 2025-04-17 03:39

我正在写一个Python脚本来调用一个函数。

通常函数是这样调用的:

def myCall():
    print "Hello World"

但我想用这样的方式来命名/使用这个函数:

def my Call():
    print "I did it!"

我知道大家可能会想,为什么程序员要这样命名函数。只要把“空格”换成“下划线”或者别的什么就行了!嗯……但这不是我想让脚本工作的方式。

有没有什么建议可以用“空格”来调用这个函数呢?

-------------------------------------------附加说明----------------------------------------

大家好!我来解释一下我的脚本是怎么工作的。特别是为什么我在函数名中使用空格。这个页面上有很多好奇心,所以我加上这个说明来解释我为什么这样做。

希望这能帮助大家理解我为什么这么做 :)

敬礼!

例如:

===============
Welcome Menu
===============
1. Option 1
2. Option 2
3. Option 3
4. Option 4

我有一个用户主菜单,而这个主菜单会不断更新,以便在显示选项之前进行检查。

array = ["Option 1", "Option 2", "Option 3", "Option 4"]

这个检查是因为当某些在脚本前面声明的变量缺失时,特定的选项确认就无法工作。

例如:

for x in range(a) 
    print "Menu Option

我把我的菜单放在一个循环中(意味着只打印一次),菜单中的数字计数与字符串选项是分开的,每当数组中有一个新元素时,计数就会自动增加。选项变量放在数组中。

用户会选择他们想要的选项。假设用户选择了“选项 1”,那么它会去数组中(数组 = ["选项 1", "选项 2", "选项 3", "选项 4"])检查位置。

记住,数组不是固定的!!!它会根据脚本前面声明的变量而变化。

所有的验证都是为了防止错误、崩溃等情况发生!

最后,我写了一个函数(带空格)。

在循环中,它会调用这个函数(带空格)。这个函数需要链接回数组进行更改。

-------------------------------------------附加说明----------------------------------------

5 个回答

4

在Python 3中,你可以使用包含符号的标识符,但不能使用标点符号。可以尝试一个几乎看不见的符号,比如中间点(U+00B7)。

# coding: utf-8

def my·Call():
    print("Hello World")

my·Call()
5

如果不修改Python解释器,你是无法做到这一点的(至少,按照你给出的语法是做不到的)。

空格在Python中是用来分隔不同的部分的,这不仅仅在Python中如此,在英语(以及其他几种语言)中也是一样。所以,就算你找到了某种方法来实现这个,你的代码可读性会大大降低,因为你可能需要读整句话才能搞清楚某一行代码在用哪个函数。

这就像把一句话中的所有空格都去掉;你得读完整句话,还得花更多的时间去理解它的意思,才能知道代码到底在说什么(更不用说它实际做了什么了!)。

52

你需要用传统的方式来调用它吗?

这里有一个带空格(还有标点符号!)的函数名

>>> def _func():
    print "YOOOO"


>>> globals()['Da func name!!1'] = _func

>>> globals()['Da func name!!1']()
YOOOO

撰写回答