python 函数参数赋值过程
2011-09-23 11:34
302 查看
形参赋值的过程是这样的:首先按顺序把“arg”这种形式的实参给对应的形参第二,把“arg=”这种形式的实参赋值给形式第三,把多出来的“arg”这种形式的实参组成一个tuple给带一个星号的形参第四,把多出来的“key=value”这种形式的实参转为一个dictionary给带两个星号的形参。听起来好复杂,实际是是很简单的。很直观,来看例子: 1. def test(x,y=5,*a,**b): 2. print x,y,a,b 就这么一个简单函数,来看看下面对这个函数调用会产生什么结果: test(1) ===> 1 5 () {} test(1,2) ===> 1 2 () {} test(1,2,3) ===> 1 2 (3,) {} test(1,2,3,4) ===> 1 2 (3,4) test(x=1) ===> 1 5 () {} test(x=1,y=1) ===> 1 1 () {} test(x=1,y=1,a=1) ===> 1 1 () {'a':1} test(x=1,y=1,a=1,b=1) ===> 1 1 () {'a':1,'b':1} test(1,y=1) ===> 1 1 () {} test(1,2,y=1) ===> 出错,说y给赋了多个值 test(1,2,3,4,a=1) ===> 1 2 (3,4) {'a':1} test(1,2,3,4,k=1,t=2,o=3) ===> 1 2 (3,4) {'k':1,'t':2,'o':3}
相关文章推荐
- Python的变量赋值及函数参数传递规则
- Gallery3D中画图时调用glTranslate函数参数赋值过程
- 3.7 Python函数的参数
- python基础之函数可变参数
- Python函数可变参数* args及**kwargs 应用
- Python的函数参数传递:传值?引用?
- C#: 过程或函数""需要""参数,但未提供该参数
- Python函数参数(补充)
- Python 函数 (关键字参数)
- Python中函数的参数定义和可变参数
- detailsview控件 为过程或函数 UpdateVisit1 了过多的参数 题
- python go php 函数参数传递总结
- Python中函数参数设置及使用的学习笔记
- c++中如何通过函数参数对指针进行赋值
- Python中函数的参数定义和可变参数
- 【Python】[函数] 函数的参数与递归函数
- 【Python】函数的参数对应
- printf函数以参数"%s"输出字符串时过程
- Python中定义函数时参数有默认值的小陷阱
- Python函数参数总结