先說明一下在寫Python腳本時,如何在裡面使用中文
在腳本的開頭可以加上以下程式碼片段:
# _*_ coding:utf-8 _*_ 其效果和# coding=utf-8 是一樣的
#以下總結一下在學習Python定義函數時如何傳參的問題:
1、首先是位置傳參以及預設值:
定義一個函數func_name,其中形式參數為arg,arg1,arg2,arg3,arg4
在這幾個參數中arg3和arg4是有預設值的,如果呼叫函數時只給了三個值,那後面的arg3和arg4就會使用預設值,當給出的參數是四個或五個時,則一次按位置賦給對應的形參進行呼叫
下面是執行程式的結果:
PS:位置傳參最主要的是參數個數要一致,而且順序很重要,相應的值賦給相應位置的形參
關鍵字傳參:
在這裡也可以使用關鍵字傳參,即在呼叫函數時指定形參和哪個實參相對應,這時位置就不是那麼重要了,但位置傳參和關鍵字傳參同時有的話,還是要將位置傳參放在前面定義,這在定義函數時就要注意,否則在呼叫函數時會造成不必要的麻煩。
2、收集剩餘多餘參數和收集多餘字典參數
定義一個函數,可以透過正常的只傳入值或key-value的方法來呼叫。但是如果第一個時參數傳入的是key-value的方法,那麼後面的必須都是key-value方法,如果第一個不是,那麼後面的可以根據情況再傳入值就可以了。
下面是一個具體的實例程式:
#在上面的函數func_name中,它所指定的參數是不定的,可能是0個,也可能是n個,所以使用*arg收集剩餘所有參數
在呼叫函數時,如果參數是一個列表,使用*Li其實就是解列表再將列表中的每個元素依次傳參,一般使用*arg進行參數收集;如果不使用*Li,直接調用Li,這是將整個列表作為一個整體傳入
**arg是用來收集key-value類的參數的,這類參數指定定義在函數參數的最後面,在實際呼叫函數時,可以使用'key'='value'或{'key1'='value1', 'key2'='value2'}的形式來進行傳值呼叫
函數cat的定義是為了將各種參數都放在一起,讓大家能夠看到效果,以及在呼叫cat函數時是怎樣傳遞參數的
#下面是函數的輸出結果,根據結果比較可以感受不同傳參呼叫的差異:
3、從標準輸入取得變量,以及在語句中取代變量,以及字典傳參在函數體裡的應用:
raw_input是用來取得標準輸入的值賦給變量,還可以有提示訊息
在Python中在語句中加入一個變數使用% 進行替換進去
##在當函數定義和呼叫時,key-value類字典傳參時一定要注意都需要前面的兩個*號,函數收集後以字典進行保存,傳進去以後在調用時就會應道相應的字典方法,這裡不再贅述;
以下是程式運作的結果,可以根據結果進行對比,看傳參等具體效果如何:
##4 、函數的回傳值
在函數中最重要的就是其回傳值,在呼叫函數時就是要用到其回傳值的結果去進行下一步操作處理,以下是一個簡單地小例子:
結果如下:
#5、用函數實作一個階乘(遞迴與自定義)
下面是輸出結果,兩個函數實作結果一致:
6、下面是一個函數的調用,以及函數名稱和函數結果賦值有何異同的比較,在一個函數中去調用另一個函數的返回值
下面是輸出結果,比較腳本可以看出差異與作用
#7、以下是實作了一些內建函數的基本功能,都是一些簡單練習,供大家參考學習,請多多提出寶貴意見
#結果如下:
上面是本人的一些小結與參考練習,以供大家學習,請多多提出寶貴意見! ! !
本文出自 “ptallrights” 博客,請務必保留此出處http://ptallrights.blog.51cto.com/11151122/1788896
以上是python語言中函數的傳參與基本練習的詳細內容。更多資訊請關注PHP中文網其他相關文章!