2005年06月10日 星期五 15:54
回头要好好看看,记得有一次做项目时候,因为**argss传进来的是字典形式。当时需要字典所以想当然的把它认为成了字典。 高手就是高手呀! Qutr , qutianrang at gmail.com 2005-6-10 ----- 收到以下来信内容 ----- 发件人: limodou 收件人: python-chinese 时 间: 2005-06-10, 15:49:22 主 题: Re: [python-chinese] 问一下函数参数类型的区别(arg,*args,**argss) 你弄错了。*arg表示未在函数中列出参数的变量,但它又不是使用=来定义的。**args是表示使用key=value来定义的参数。因此*arg和**args在调用时并不是tuple和dict,而是类似于: def test(arg, *args, **argss): test(1, 'a', [], t=2, d='3') *args为'a', [] **argss为t=2, d='3' 但在函数内部你看到的args就是('a', [])和{'t':2, 'd':'3'}了 这里面有一个转换过程。 因此dict(a=2, b=3)就是使用这种方法来将一个函数式的调用转为了一个dict {'a':2, 'b':3} 在 05-6-10,马剑<honeyday at staffonly.org> 写道: > 我写了一段试验代码: > > def test(arg,*args,**argss): > print arg > print args > print argss > > if __name__ == '__main__': > test('z',('a','b'),{'a':'x','b':'y'}) > > 但是输出的结果如下: > > z > (('a', 'b'), {'a': 'x', 'b': 'y'}) > {} > > 为什么第三个参数跑到第二个参数里面去了,组合成一个元组了? > > On Fri, 10 Jun 2005 15:29:44 +0800 > "Qutr"<qutianrang at gmail.com> wrote: > ================================================================= > > *的传过来的是个元组; **的传过来是个字典。 > > 呵呵!试验一下就知道了。 > > > > Qutr , qutianrang at gmail.com > > 2005-6-10 > > ----- 收到以下来信内容 ----- > > 发件人: 马剑 > > 收件人: python-chinese > > 时 间: 2005-06-10, 15:24:13 > > 主 题: [python-chinese] 问一下函数参数类型的区别(arg,*args,**argss) > > > > > > 我发现python函数的参数有3种写法:直接一个变量名、*变量名、**变量名。 > > > > 上面三种有什么区别呢?都应该怎么用呢? > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > -- I like python! My Donews Blog: http://www.donews.net/limodou New Google Maillist: http://groups-beta.google.com/group/python-cn _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050610/523c90df/attachment.htm
Zeuux © 2025
京ICP备05028076号