2015-12-14 23 views
-1

如果我要創建一個函數:如何將一個參數變爲一個元組?

def function(x, y): 
    """A simple function, but 'y' will be a tuple. 
    """ 
    function = (a*b) + x 

我想y是(A,B),所以當它涉及到它打印出來,我必須做的:

print function(3,(4, 5)) 
=23 

其中x是3,a是4,b是5.我明白我可以做到這一點,而不必將參數變成一個元組,但這是我給出的任務,我必須這樣做。

回答

3

拆開yab

>>> def function(x, y): 
...  """A simple function, but 'y' will be a tuple. 
...  """ 
...  a,b = y 
...  return (a*b) + x 
... 
>>> print function(3,(4, 5)) 
23 
1

使用打印語句中,我們可以看到你正在使用Python2,這樣你就可以在函數聲明把它解析像這樣

def function(x, (a, b)): 
    """A simple function 
    """ 
    return (a * b) + x 

print function(3,(4, 5)) 

在Python3中不再允許使用此語法,但是通過「2to3」運行腳本會產生

def function(x, xxx_todo_changeme): 
    """A simple function 
    """ 
    (a, b) = xxx_todo_changeme 
    return (a * b) + x 
1

您也可以使用operator lib和與*解壓:

from operator import mul 
def function(x, y): 
    """A simple function, but 'y' will be a tuple. 
     """ 
    return x + mul(*y) 

print(function(1,(3,4))) 

將輸出

13 
相關問題