python函数的参数如何传递吗?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
在这个用例中,我们要讨论的是关于函数的传参问题
我所使用的python版本为3.3.2
对于函数:
def 乐趣(arg): ,,,印刷(arg) ,,,,, def main (): ,,,乐趣(& # 39;你好,Hongten& # 39;) ,,,,, if __name__==, & # 39; __main__ # 39;: ,,,main ()
当我们传递一个参数给有趣的()函数,即可打印出传递的参数值信息。(更多学习内容,请点击)
这里打印的信息为:
你好,Hongten
对于下面的用例:
def 乐趣(a=1, b=没有,c=None, * args): ,,,print (& # 39; {0}, {1}, {2}, {3} & # 39; .format (a, b, c,, args)) ,,,,, def main (): ,,,乐趣(a=& # 39;一个# 39;) ,,,乐趣(& # 39;一个# 39;) ,,,,, if __name__==, & # 39; __main__ # 39;: ,,,main ()
当传递的参数为:有趣的(=& # 39;一个# 39;)和乐趣(& # 39;一个# 39;)这样的传参都是把值复制给参数,所有两种传参的效果是一样的:
1,没有,没有,()
1,没有,没有,()
当然我们也可以给参数:b, c, * args赋值
如:
def 乐趣(a=1, b=没有,c=None, * args): ,,,print (& # 39; {0}, {1}, {2}, {3} & # 39; .format (a, b, c,, args)) ,,,,, def main (): ,,,乐趣(& # 39;一个# 39;,1,2,(& # 39;hongten& # 39;)) ,,,,, if __name__==, & # 39; __main__ # 39;: ,,,main ()
这样我们就给参数:b, c, args赋上了值
运行效果:
1, 1, 2, (& # 39; hongten& # 39;)
在上面的列子中,我们不能绕开参数* args前面的参数a, b, c给* args复制:
如:
def 乐趣(a=1, b=,, c=None, * args): ,,,print (& # 39; {0}, {1}, {2}, {3} & # 39; .format (a, b, c,, args)) ,,,,, def main (): ,,,乐趣(args=(& # 39; hongten& # 39;)) ,,,,, if __name__==, & # 39; __main__ # 39;: ,,,main ()
运行效果:
回溯(最近的电话最后):
,文件“E:/Python33/python_workspace/test_fun.py"线21日& lt; module>
,,main ()
,文件“E:/Python33/python_workspace/test_fun.py",第18行,在主
,,乐趣(args=(& # 39; hongten& # 39;))
TypeError:有趣的()有一个意想不到的关键字参数& # 39;args # 39;
但是对于参数:a, b, c来说,是可以使用这样的方式进行赋值
如:
def 乐趣(a=1, b=没有,c=None, * args): ,,,print (& # 39; {0}, {1}, {2}, {3} & # 39; .format (a, b, c,, args)) ,,,,, def main (): ,,,乐趣(c=(& # 39; hongten& # 39;),, b=2,, a=[1, 2, 3]) ,,,,, if __name__==, & # 39; __main__ # 39;: ,,,main ()
运行效果
[1,2,3],2,hongten, ()
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。