一、形参和实参
函数定义过程中的参数叫做形参(parameter),因为它只是一个形式,表示占据一个参数位置。
函数调用过程中传递进来的值就做实参(argument),因为它是具体的参数值。
>>> def func(name):#此处的"name"就是形参 print(name) >>> func(‘Ginson‘)#此处的“Ginson”就是实参
二、函数文档
函数文档是在定义函数时,写在函数体之前的文字,这段文字不会跟函数以其被保存,但在函数被调用时不被打印。主要作用是对函数功能加以说明,使代码更易维护。
>>> def func1(name): ‘此函数的作用是打印参数‘ print(name) >>> func1(‘Christina‘) Christina #看,此处函数文档并未被打印 >>> func1.__doc__ ‘此函数的作用是打印参数‘ #可调用函数的属性来显示函数文档,doc前后为双下横线
PS:help(函数名称) 也可以显示函数文档,并且排版更易阅读
三、关键字参数
>>> func2(‘Ginson‘,‘18‘) Ginson今年18岁 >>> func2(‘18‘,‘Ginson‘) 18今年Ginson岁 #函数默认是按顺序匹配实参与形参的 >>> func2(age=‘18‘,name=‘Ginson‘) Ginson今年18岁 #当参数过多时,可以直接用关键字参数来告诉函数,哪个实参对应哪个形参
四、默认参数
默认参数是定义了默认值的参数
>>> def func3(name=‘Ginson‘,age=‘18‘): print(name+‘今年‘+age+‘岁‘) #定义函数时定义默认参数值 >>> func3() #调用函数时如果参数为空则函数使用默认参数 Ginson今年18岁 >>> func3(‘Christina‘,‘16‘) #如果给了参数则使用参数值 Christina今年16岁
五、收集参数
收集参数就是在定义参数时,给参数名字前加上*号,表示这个参数为收集参数。收集参数的值会用一个元组打包起来。
>>> def func4(*params): print(‘参数长度为:‘,len(params)); print(‘第二个参数为:‘,params[1]); >>> func4(1,‘字符串‘,3.1415) 参数长度为: 3 第二个参数为: 字符串
注意,如果函数中除了收集参数还有其他参数,调用函数时需要用关键字参数来传递值,否则就会出错。
>>> def func4(*params,exp): print(‘参数长度为:‘,len(params),exp); print(‘第二个参数为:‘,params[1]); >>> func4(1,‘字符串‘,3.1415) Traceback (most recent call last): File "<pyshell#42>", line 1, in <module> func4(1,‘字符串‘,3.1415) TypeError: func4() missing 1 required keyword-only argument: ‘exp‘ >>> func4(1,‘字符串‘,3.1415,exp=‘啦啦啦‘) 参数长度为: 3 啦啦啦 第二个参数为: 字符串
原文:http://www.cnblogs.com/ginsonwang/p/5164781.html