我一直想知道为什么我们不能在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
我确信,由于某些原因,圭多爵士一定会这样做。我用谷歌搜索,但找不到答案。谁能给我一点启示吗?
最佳答案
因为连字符用作减法运算符。想象一下,您可能有一个is-even
函数,然后您得到了如下代码:
my_var = is-even(another_var)
is-even(another_var)
是对is-even
函数的调用,还是从名为even
的变量中减去is
函数的结果?Lisp方言不存在此问题,因为它们使用前缀表示法。例如,两者之间有明显的区别
(is-even 4)
和
(- is (even 4))
在Lisps。
关于python - 为什么python不允许在函数和变量名中使用连字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2064329/