为什么python不能像其他语言(coffeescript haskell)那样在函数调用中省略括号呢?只是一些历史原因或者是什么?
答案 0 :(得分:7)
括号允许我们从调用函数func
中消除函数对象func()
的歧义。
函数对象是Python中的第一类对象。例如,您可以将它们作为参数传递给函数,就像任何其他对象一样。这通常用于设置回调函数 - GUI编程或并发编程中的常见做法。
答案 1 :(得分:2)
在python中,您可以参考函数本身,而无需运行它。例如,定义回调很有用。
因此,您需要使用paranthesis来区分函数调用(运行它并考虑其结果)而不是仅仅引用此函数(不运行它)。
答案 2 :(得分:-5)
这个特性存在于python中,用于区分python变量和函数。