在这个用例中,我们要讨论的是关于函数的传参问题 我所使用的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, ,line 18,=(

但是对于参数:a,c来说,是可以使用这样的方式进行赋值

如:

fun(a=1,args))

fun(c=(),b=2,a=[1,3
== main()

运行效果:

[1,3],hongten,()

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。