跟老齐学Python之总结参数的传递
就前面所讲,函数的基本内容已经完毕。但是,函数还有很多值得不断玩味的细节。这里进行阐述。
参数的传递
python中函数的参数通过赋值的方式来传递引用对象。下面总结通过总结常见的函数参数定义方式,来理解参数传递的流程。
deffoo(p1,p2,p3,...)
这种方式最常见了,列出有限个数的参数,并且彼此之间用逗号隔开。在调用函数的时候,按照顺序以此对参数进行赋值,特备注意的是,参数的名字不重要,重要的是位置。而且,必须数量一致,一一对应。第一个对象(可能是数值、字符串等等)对应第一个参数,第二个对应第二个参数,如此对应,不得偏左也不得偏右。
>>>deffoo(p1,p2,p3): ... print"p1==>",p1 ... print"p2==>",p2 ... print"p3==>",p3 ... >>>foo("python",1,["qiwsir","github","io"]) #一一对应地赋值 p1==>python p2==>1 p3==>['qiwsir','github','io']
>>>foo("python") Traceback(mostrecentcalllast): File"<stdin>",line1,in<module> TypeError:foo()takesexactly3arguments(1given) #注意看报错信息
>>>foo("python",1,2,3) Traceback(mostrecentcalllast): File"<stdin>",line1,in<module> TypeError:foo()takesexactly3arguments(4given) #要求3个参数,实际上放置了4个,报错