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参数相关的知识点内容,感谢大家对服务器之家的支持。