1. 程式人生 > >Python函數調用

Python函數調用

參數 沒有 ima 代碼 執行 內存 轉載 要求 基礎

轉載自鏈接: http://www.cnblogs.com/feixuelove1009/p/5541632.html

1.python函數基礎

技術分享圖片

函數名: fun

函數體:1~3行

返回值:2

調用函數:fun() ,只有見到這個括號(),程序會根據函數名從內存中找到函數體,然後執行它。

2.函數的執行順序

技術分享圖片

下面的fun將上面的fun覆蓋掉了,因此,在Python中代碼的放置位置是有要求的,不能隨意擺放,函數體要放在被調用的語句之前。

3.函數的調用

第一種情況:

技術分享圖片

x(f),註意:x(f)中的f沒有加括號(),即f為參數。將f作為參數傳入x(),x()中的y()函數返回的是y即函數名所以沒有執行y函數。所以最終打印出為無結果。

第二種情況:

技術分享圖片

x(f()),註意:x(f())中f後面是有括號的,即f作為函數傳給x。將f()函數傳給x()函數,先執行f()函數打印出2,再執行x()函數,因為x()中的y()函數返回的是y即函數名所以沒有執行y函數。所以最終打印結果為2。

第三種情況:

技術分享圖片

x(f),註意:x函數中的y函數返回的值是y函數,即return y()。x(f)中f作為參數傳給x函數,所以f()函數就不執行了,執行x函數,因為return y(),所以執行y函數打印出1。最終打印結果為1。

第四種情況:

技術分享圖片

x(f()),註意:x(f())中f後面是有括號的,即f作為函數傳給x;x函數中的y函數返回的值是y函數,即return y()。將f()函數傳給x()函數,先執行f()函數打印出2,再執行x函數,因為return y(),所以執行y函數打印出1。最終執行打印結果為2 1。

第五種情況:

技術分享圖片

x(f),註意:x(f)中f後面沒有括號,即f作為參數傳入x()函數。將f作為參數帶入x函數執行,因為return y()所以執行y函數打印出1;再執行技術分享圖片語句,此時相當於func()=f(),即開始執行f()函數打印出2。所以最終打印結果為1 2。

以上是按照我自己理解來總結的,不對或者有補充的地方歡迎指出來~~

聲明:如需轉載,請註明來源!

Python函數調用