Python函數調用
轉載自鏈接: 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函數調用