【发布时间】:2010-01-14 13:27:44
【问题描述】:
我一直想知道为什么python中的函数名和变量名之间不能使用连字符
尝试过 Lisp 和 Clojure 等允许使用连字符的函数式编程语言。为什么 python 不这样做。
# This won't work -- SyntaxError
def is-even(num):
return num % 2
# This will work
def is_even(num):
return num % 2
我确信 Guido 爵士一定是因为某些原因才这么做的。我用谷歌搜索但无法找到答案。任何人都可以对此有所了解吗?
【问题讨论】:
-
发生语法错误是因为
is是关键字。在def mightbe-even(num)中,语法错误可能是因为连字符。 -
我一直想知道为什么 ASCII 有“-”和“”。当您想知道“-”的用途时,您是否也想知道“”的用途?确实,我有很多标点符号问题和这个一样重要。为什么“#”和“♯”不一样?你也想知道吗?我一直觉得奇怪的是我们不能使用“♯”来表示 cmets。
-
(@aatifh,请参阅meta.stackexchange.com/questions/35582/… -- 您是否将标签从
pyhon更改为python?也许还删除了标题中的尾随反引号?) -
@Arjan 是的,我做到了。我在发布标签不正确的问题后 5 分钟内意识到。但没有编辑标题。
-
@S.Lott 对于我的问题,答案非常直接和简单。只是我们需要了解 sexp 和 Infix 符号之间的区别。看到答案后我意识到了这一点。
标签: python