天天看點

《像計算機科學家一樣思考Python》——3.8 形參和實參

本節書摘來自異步社群《像計算機科學家一樣思考python》一書中的第3章,第3.8節,作者[美]allen b. downey,趙普明 譯,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

我們已經看到,有些内置函數需要傳入參數。比如,當調用math.sin時,需要傳入一個數字作為實參。有的函數需要多個實參:math.pow需要兩個,分别是基數(base)和指數(exponent)。

在函數内部,實參會被指派給形參。下面的例子是一個使用者自定義的函數,接收一個實參:

這個函數在調用時會把實參的值賦到形參bruce上,并将其列印兩次。

這個函數對任何可以列印的值都可用。

内置函數的組合規則,在使用者自定義函數上也同樣可用,是以我們可以對print_twice使用任何表達式作為實參:

作為實參的表達式會在函數調用之前先執行。是以在這個例子中,表達式'spam'*4和math.cos(math.pi)都隻執行一次。

你也可以使用變量作為實參:

作為實參傳入到函數的變量的名稱(michael)和函數定義裡形參的名稱(bruce)沒有關系。函數内部隻關心形參的值,而不用關心它在調用前叫什麼名字;在print_twice函數内部,大家都叫bruce。