5

根据这个答案,函数调用是一个语句,但是在我在 Coursera 中学习的课程中,他们说函数调用是一个表达式。

所以这是我的猜测:函数调用做了一些事情,这就是为什么它是一个语句,但是在它被调用之后它会评估并传递一个值,这使得它也是一个表达式。

函数调用是表达式吗?

4

3 回答 3

13

调用是一个表达式;它列在表达式参考文档中。

如果它是一个语句,则不能将它用作表达式的一部分;语句可以包含表达式,但不能反过来。

例如,return expression是一个语句;它使用表达式来确定它的行为;表达式的结果是当前函数返回的结果。您可以使用调用作为该表达式的一部分:

return some_function()

但是,您不能将return其用作呼叫的一部分:

some_function(return)

那将是一个语法错误。

它是return“做某事”;它结束函数并返回表达式的结果。使函数返回的不是表达式本身。

如果 python 调用不是表达式,您将永远无法将调用和其他表达式原子混合到更复杂的表达式中。

于 2013-05-21T00:26:48.440 回答
0

函数调用是表达式,因此您可以在语句中使用它们,例如printor =

x = len('hello')        # The expression evaluates to 5
print hex(48)           # The expression evaluates to '0x30'

在 Python 中,函数就像整数和字符串一样是对象。与其他对象一样,函数具有属性和方法。使函数可调用的是__call__方法:

>>> def square(x):
        return x * x

>>> square(10)
100
>>> square.__call__(10)
100

括号分派给__call__方法。

这是 Python 工作方式的核心。希望这些见解对您有所帮助。

于 2013-05-21T00:51:32.423 回答
0

表达式也是python中的语句。函数是一个表达式,因为它返回一个值,但 python 中的表达式也是语句。表达式语句

于 2021-07-19T12:23:11.730 回答