根据这个答案,函数调用是一个语句,但是在我在 Coursera 中学习的课程中,他们说函数调用是一个表达式。
所以这是我的猜测:函数调用做了一些事情,这就是为什么它是一个语句,但是在它被调用之后它会评估并传递一个值,这使得它也是一个表达式。
函数调用是表达式吗?
调用是一个表达式;它列在表达式参考文档中。
如果它是一个语句,则不能将它用作表达式的一部分;语句可以包含表达式,但不能反过来。
例如,return expression
是一个语句;它使用表达式来确定它的行为;表达式的结果是当前函数返回的结果。您可以使用调用作为该表达式的一部分:
return some_function()
但是,您不能将return
其用作呼叫的一部分:
some_function(return)
那将是一个语法错误。
它是return
“做某事”;它结束函数并返回表达式的结果。使函数返回的不是表达式本身。
如果 python 调用不是表达式,您将永远无法将调用和其他表达式原子混合到更复杂的表达式中。
函数调用是表达式,因此您可以在语句中使用它们,例如print
or =
:
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 工作方式的核心。希望这些见解对您有所帮助。
表达式也是python中的语句。函数是一个表达式,因为它返回一个值,但 python 中的表达式也是语句。表达式语句