0

我被困在通过函数使用多个参数。我有两个文件:

1.py

import function
x=2
y=5
print function.power(x,y)

函数.py

import math
def power(*x)
return math.pow(x,x)

每当我尝试将多个参数传递给power函数时,都会出现以下错误:

回溯(最近一次通话最后):

文件“C:\Examples\1.py”,第 33 行,在

打印函数.power(x,y)

文件“c:\Examples\function.py”,第 11 行,上电

return math.pow(x,x)

类型错误:需要浮点数

4

2 回答 2

3

我想你想要:

def power(*x):
    return math.pow(*x)

这是一种形式的参数解包。在power函数中,x是 a tuple,然后可以在传递给另一个函数时对其进行解包。

于 2013-01-31T05:17:29.803 回答
0

那是因为*x实际上是在x列一个清单。

你真的想function.py成为:

import math
def power(*x)
    return math.pow(x[0],x[1])

为什么你真的想知道如何做到这一点?显然不能无意义地包装math.pow函数。

于 2013-01-31T06:27:58.460 回答