1

我写了一个函数,我尝试调用它,但它给了我错误

  NameError: name 'fun' is not defined

例子:

(p1,p2) = fun(price1,price2)

def fun(price1,price2):
  do something
4

4 回答 4

3

您必须先定义函数,然后才能调用它们。Python 中的函数定义与其他任何语句一样是可执行语句,并按照它们在源文件中出现的顺序执行。将你的def fun块移动到你调用它的地方之前。

于 2012-12-08T19:54:21.870 回答
3

在像这样的独立脚本中,您必须在调用它之前定义该函数。所以只需将其更改为:

def fun(price1,price2):
    do something

(p1,p2) = fun(price1,price2)
于 2012-12-08T19:55:18.287 回答
0

在我看来,解释器在定义函数之前正在运行调用函数的代码行。您需要切换它们,或者将函数调用代码本身包装在一个函数中,main()并在定义完所有内容后调用它。

于 2012-12-08T19:54:42.960 回答
0

如果这是一个独立的脚本,那么您需要fun在定义它之后调用。

def fun(price1,price2):
  do something

(p1,p2) = fun(price1,price2)
于 2012-12-08T19:55:43.393 回答