Python论坛  - 讨论区

标题:[python-chinese] tuple元素作为参数传递的问题

2006年05月01日 星期一 07:57

makeyunbad makeyunbad at gmail.com
Mon May 1 07:57:07 HKT 2006

请教tuple元素作为参数传递的问题,A函数参数在不可以改变为*arg的情况下,我想传递tuple a里面的元素,现在只能使用a[0],
a[1], a[2]传递参数,请问有没有好的方法,不使用脚码一下子传递参数呢?请指教,谢谢。

>>> def A(x, y, z):
... 	print x, y, z
... 	
>>> A(1,2,3)
1 2 3
>>> a= 1,2,3
>>> A(a[0], a[1], a[2]) #使用tuple只能这样传递参数么?
1 2 3
>>> A(a)  # 有没有什么方法可以像这样传递进去?
Traceback (most recent call last):
  File "", line 1, in ?
TypeError: A() takes exactly 3 arguments (1 given)

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月01日 星期一 09:11

xxmplus xxmplus at gmail.com
Mon May 1 09:11:35 HKT 2006

你是不是想这样:

>>> def a(x):
...     print x
...
>>> b=(1,2,3)
>>> a(b)
(1, 2, 3)

在 06-5-1,makeyunbad<makeyunbad at gmail.com> 写道:
> 请教tuple元素作为参数传递的问题,A函数参数在不可以改变为*arg的情况下,我想传递tuple a里面的元素,现在只能使用a[0],
> a[1], a[2]传递参数,请问有没有好的方法,不使用脚码一下子传递参数呢?请指教,谢谢。
>
> >>> def A(x, y, z):
> ...     print x, y, z
> ...
> >>> A(1,2,3)
> 1 2 3
> >>> a= 1,2,3
> >>> A(a[0], a[1], a[2]) #使用tuple只能这样传递参数么?
> 1 2 3
> >>> A(a)  # 有没有什么方法可以像这样传递进去?
> Traceback (most recent call last):
>   File "", line 1, in ?
> TypeError: A() takes exactly 3 arguments (1 given)
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年05月01日 星期一 14:09

helium helium.sun at gmail.com
Mon May 1 14:09:55 HKT 2006

A(*a)就行啊
或者apply(A, a),不过apply可能要在python3000中被去掉了


在06-5-1,makeyunbad <makeyunbad at gmail.com> 写道:
>
> 请教tuple元素作为参数传递的问题,A函数参数在不可以改变为*arg的情况下,我想传递tuple a里面的元素,现在只能使用a[0],
> a[1], a[2]传递参数,请问有没有好的方法,不使用脚码一下子传递参数呢?请指教,谢谢。
>
> >>> def A(x, y, z):
> ...     print x, y, z
> ...
> >>> A(1,2,3)
> 1 2 3
> >>> a= 1,2,3
> >>> A(a[0], a[1], a[2]) #使用tuple只能这样传递参数么?
> 1 2 3
> >>> A(a)  # 有没有什么方法可以像这样传递进去?
> Traceback (most recent call last):
> File "", line 1, in ?
> TypeError: A() takes exactly 3 arguments (1 given)
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060501/769f3ca9/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号