首先說明一下在編寫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、下面是實現了一些內置函數的基本功能,都是一些簡單練習,供大家參考學習,請多多提出寶貴意見
結果如下:
上面是本人的一些小結與參考練習,以供大家學習,請多多提出寶貴意見!!!