在这个用例中,我们要讨论的是关于函数的传参问题 我所使用的python版本为3.3.2
对于函数:
fun(
== main()
信息。
这里打印的信息为:
hello,Hongten
对于下面的用例:
fun(a=1,b=None,c=None,* (
fun(a= fun(
== main()
当传递的参数为:fun(a='one')和fun('one')这样的传参都是把值复制给参数a,所有两种传参的效果是一样的:
当然我们也可以给参数:b,*args赋值
如:
fun(a=1,args))
fun(,1,2,(
== main()
这样我们就给参数:b,args赋上了值
运行效果:
one,(,)
在上面的列子中,我们不能绕开参数*args前面的参数a,c给*args复制:
如:
fun(a=1,args))
fun(args=(
== main()
运行效果:
,line 21, 但是对于参数:a,c来说,是可以使用这样的方式进行赋值 如: fun(a=1,args)) fun(c=(),b=2,a=[1,3 运行效果: [1,3],hongten,()
== main()