python函数中的参数传递的两种方式,python函数可以作为参数传递吗
在这个用例中,我们要讨论的是关于函数的传参问题
我所使用的大蟒版本为3.3.2
对于函数:
deffun(阿根廷):
打印(参数)
defmain():
乐趣("你好,洪腾")
if__name__==__main__:
主()当我们传递一个参数给乐趣()函数,即可打印出传递的参数值信息。(更多学习内容,请点击计算机编程语言学习网)
这里打印的信息为:
你好,洪腾
对于下面的用例:
deffun(a=1,b=无,c=无,*args):
打印("{0}、{1}、{2}、{3}"。格式(a、b、c、args))
defmain():
乐趣
乐趣("一")
if__name__==__main__:
主()当传递的参数为:fun(a=one )和乐趣("一")这样的传参都是把值复制给参数一,所有两种传参的效果是一样的:
一个,没有,没有,()
一个,没有,没有,()
当然我们也可以给参数:b,c,*号参数赋值
如:
deffun(a=1,b=无,c=无,*args):
打印("{0}、{1}、{2}、{3}"。格式(a、b、c、args))
defmain():
好玩(一,1,2,(洪腾))
if__name__==__main__:
主()这样我们就给参数:b,c,args赋上了值
运行效果:
一,一,二,(红腾,)
在上面的列子中,我们不能绕开参数*参数前面的参数甲、乙、丙给*参数复制:
如:
deffun(a=1,b=无,c=无,*args):
打印("{0}、{1}、{2}、{3}"。格式(a、b、c、args))
defmain():
fun(args=(hongten ))
if__name__==__main__:
主()运行效果:
回溯(最近呼叫):
模块中文件e :/python 33/python _ workspace/test _ fun。py 第21行
主()
主要的中文件e :/python 33/python _ workspace/test _ fun。py 第18行
fun(args=(hongten ))
TypeError: fun()获得了意外的关键字参数"参数"
但是对于参数:a、b、c来说,是可以使用这样的方式进行赋值
如:
deffun(a=1,b=无,c=无,*args):
打印("{0}、{1}、{2}、{3}"。格式(a、b、c、args))
defmain():
fun(c=(hongten ),b=2,a=[1,2,3])
if__name__==__main__:
主()运行效果
[1,2,3],2,洪腾,()
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。