python学习笔记--关于函数的那点事1

函数参数

1.位置参数

类似于java函数的基本参数,按照顺序和结构定义参数

2.默认参数

def method(param,defaultParam=defaultValue)

调用时,可以调用method(param)或者method(param,param),当调用时不传defaultParam时,函数使用默认参数进行计算。

定义默认参数要注意:

(1)必选参数在前,默认参数在后

(2)设置时:变化大的参数在前,变化小的参数在后,变化小的参数可以使用默认参数

(3)定义默认参数必须指向不可变对象

使用默认参数能降低调用函数的难度,而且在调用时,如果存在多个默认参数,可以不按顺序提供默认参数,但必须把参数名写上

3.可变参数

def method(param,*params)

params必须是一个list或者tuple,

调用时可以先定义list或tuple,然后在list或tuple变量名前加*,类似:list=[1,2,3],method(*list)

4.关键字参数

def method(param,**kw)

关键字参数允许传入0个或者任意个数含参数名的参数,这些参数在函数内部自动组装成一个dict

同可变参数,调用时可以先定义一个dict,然后调用dict={'key','vaule'},method(**dict)

5.命名关键字参数(最难的一点)

定义逻辑: def method(param,*,name) *后面的参数被视为命名关键字参数,如果函数定义中已经有了一个可变参数,则定义模式:def method(param,*params,name),不再需要分隔符*

调用方式:命名关键字必须传入参数名;

               命名关键字参数有default 值,则可不传入参数

6.参数组合

定义函数,可以使用上诉5种参数组合使用,但是参数顺序为,位置参数,默认参数,可变参数,命名关键字参数,关键字参数,但实际上不推荐这样使用,降低了代码的可读性

 

 

 

 

posted @ 2018-11-07 11:32  重设代码的天空  阅读(198)  评论(0编辑  收藏  举报