python之參數,定義時小括號中的參數,用來接收參數用的,稱為 “形參”
調用時小括號中的參數,用來傳遞給函數用的,稱為 “實參”。
1、思考一個問題,如下:
現在需要定義一個函數,這個函數能夠完成2個數的加法運算,并且把結果打印出來,該怎樣設計?下面的代碼可以嗎?有什么缺陷嗎?
1
2
3
4
5
6
7
8
9
|
in [ 8 ]: def num(): ...: a = 12 ...: b = 23 ...: c = a + b ...: print (c) |
為了讓一個函數更通用,即想讓它計算哪兩個數的和,就讓它計算哪兩個數的和,在定義函數的時候可以讓函數接收數據,就解決了這個問題,這就是 函數的參數
2、定義帶有參數的函數
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
in [ 10 ]: def num1(a): ....: print (a) ....: in [ 11 ]: def num2(a,b): ....: c = a + b ....: print (c) ....: in [ 12 ]: def num3(a,b,c): ....: d = a + b + c ....: print (d) |
3、調用帶有參數的函數
1
2
3
4
5
6
7
8
9
10
11
12
13
|
in [ 13 ]: def num2(a,b): ....: c = a + b ....: print (c) ....: in [ 14 ]: in [ 14 ]: num2( 1 , 2 ) 3 |
4、缺省參數
調用函數時,缺省參數的值如果沒有傳入,則被認為是默認值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
in [ 18 ]: def info(name,age = 20 ): ....: print ( "name:" ,name) ....: print ( "age:" ,age) ....: in [ 19 ]: info(name = 'zcf' ) name: zcf age: 20 in [ 20 ]: info(age = 21 ,name = 'zcf' ) name: zcf age: 21 |
5、缺省參數之注意:
帶有默認值的參數一定要位于參數列表的最后面。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
in [ 21 ]: def info(name,age = 20 ,sex): ....: print (name) ....: file "<ipython-input-21-099520322ee2>" , line 1 def info(name,age = 20 ,sex): ^ syntaxerror: non - default argument follows default argument |
6、不定長參數
有時可能需要一個函數能處理比當初聲明時更多的參數。這些參數叫做不定長參數,聲明時不會命名。
語法:
1
2
3
4
5
|
def functionname([formal_args,] * args, * * kwargs): function_suite return [expression] |
加入星號(*)的變量args會存放所有未命名的變量參數,args為元組;
而加**的變量kwargs 會存放命名參數,即形如key=value的參數,kwargs為字典
7、
以上內容就是關于python參數相關的知識點內容,感謝大家對服務器之家的支持。