根據this answer,函數調用是一個語句,但在Coursera中,他們說函數調用是一個表達式。是一個函數調用Python中的表達式?
所以這是我的猜測:一個函數調用做一些事情,這就是爲什麼它是一個聲明,但它被稱爲後評估,並傳遞價值,這使得它也是一種表達。
是函數調用表達式嗎?
根據this answer,函數調用是一個語句,但在Coursera中,他們說函數調用是一個表達式。是一個函數調用Python中的表達式?
所以這是我的猜測:一個函數調用做一些事情,這就是爲什麼它是一個聲明,但它被稱爲後評估,並傳遞價值,這使得它也是一種表達。
是函數調用表達式嗎?
呼叫是an expression;它在「表達式」參考文檔中列出。
如果是聲明,則不能將其用作表達式的一部分;陳述可以包含表達式,但不是其他方式。
作爲示例,return expression
是一個聲明;它使用表達式來確定它的行爲;表達式的結果是當前函數返回的內容。您可以使用電話作爲表達的一部分:
return some_function()
你不能,但是,使用return
爲呼叫的一部分:
some_function(return)
這將是一個語法錯誤。
這是return
'做些事情';它結束函數並返回表達式的結果。這不是使函數返回的表達式本身。
如果蟒蛇電話是不的表情,你就永遠無法混合呼叫等expression atoms成更復雜的表達式。
哇!感謝大家! 謝謝你們,我靠了很多!在S.O.這裏第一次體驗真是太棒了! :) –
函數調用是表達式,所以你可以在報表如print
或=
使用它們:
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工作原理的核心。希望你發現這些見解很有幫助。
非常感謝您的時間!這真的很有用!我試圖選擇兩個答案,但我不能。學到了很多!祝一切順利! –
術語「**做某事**」是非常含糊和誤導性的,不要太多地讀入單詞。 –
我認爲答案有點令人困惑,或者甚至會引起誤解。但是如果你閱讀評論的答案,他們會解釋一切。 (其他答案也有幫助)。函數調用是一個表達式。由於任何表達式也是一個表達式語句,這意味着函數調用也是一個語句。 – abarnert