Python 在函数中使用元组作为输入

Python 在函数中使用元组作为输入,python,arrays,function,python-2.7,numpy,Python,Arrays,Function,Python 2.7,Numpy,假设我这样定义一个函数,其中args应该是一个包含两个元素的元组,例如(1,2): 如何访问用户在函数体中传递的元组的第一个和第二个元素?我还假设调用函数的示例类似于:func(a,(1,2))?在这种情况下,可以使用列表索引或元组索引 def acd(val, *vag): print '''Given Fixed value:\t{} Given Variable Tuple:\t{} First Var Value:\t{} Second Var value

假设我这样定义一个函数,其中args应该是一个包含两个元素的元组,例如
(1,2)


如何访问用户在函数体中传递的元组的第一个和第二个元素?我还假设调用函数的示例类似于:
func(a,(1,2))

在这种情况下,可以使用列表索引或元组索引

def acd(val, *vag):
    print '''Given Fixed value:\t{}
    Given Variable Tuple:\t{}
    First Var Value:\t{}
    Second Var value:\t{}
    Len of var:\t{}
    Len of first var element:\t{}
    '''.format(val, vag, vag[0][0], vag[0][1], len(vag), len(vag[0]))
acd(1, (3,4))
输出:

Given Fixed value:      1
Given Variable Tuple:   ((3, 4),)
First Var Value:        3
Second Var value:       4
Len of var:     1
Len of first var element:       2

len(args)
是称为
args
元组中的对象数。如果其中的一个对象(例如第一个对象)是
元组
,则可以使用
len(args[0])
查找其长度。它与任何嵌套容器完全相同。@isquared KeepitReal我已按answer编辑以了解更多详细信息。@isquared KeepitReal您可以更具体一点,而我没有使用过numpy。所以再多解释一下就好了:)@isquared KeepitReal元组作为参数没有什么特别的。只需
def func(something,xy):
然后使用元组作为第二个参数调用该函数。在函数中,您可以解压元组(
a,b=xy
)或使用索引(
xy[0]
xy[1]
)来获取该元组中的值。@isquared KeepitReal在Python 2中,您甚至可以像上次注释中那样定义函数,并在函数中使用
a
b
!这种可能性在Python3中消失了。
Given Fixed value:      1
Given Variable Tuple:   ((3, 4),)
First Var Value:        3
Second Var value:       4
Len of var:     1
Len of first var element:       2