我如何使用一个函数的结果,作为另一个函数的参数?

时间:2018-01-21 13:13:45

标签: python function variables arguments global

它有点像这样。它只是主代码的一个块。 xy已正确定义

def  Function_1 (x,y):
    global zone
    # there are some conditions which get the value of variable zone
    return zone

def Function_2 (zone):
    #then there are some conditions wherein i use variable zone

Function_2 (zone)

因此错误是第32行中的“未定义区域” 很抱歉问一个愚蠢的问题,但我是新的,我需要迫切需要帮助

2 个答案:

答案 0 :(得分:0)

Function_2未被调用时,您正试图运行Function_1。解决此问题的最简单方法是对Function_2的结果运行Function_1,如下所示:

def  Function_1 (x,y):
    global zone
    #there are some conditions which get the value of variable zone
    return zone
def Function_2 (zone):
    #then there are some conditions wherein i use variable zone
Function_2(Function_1(1,2))

当您致电Function_1(1,2)时,Function_1(1,2)变得与该函数返回的内容相同,因此您只需将zone的参数设置为Function_2的参数{ {1}}。

另外,你说x和y是定义的。您无法设置变量的值并将其与函数一起使用,您需要将其传入。例如:

Function_1(1,2)

当你这样称呼时,你需要传递x=1 def Function (x): return x Function() 这项工作并不起作用:

x

这会将def Function (x): return x Function(1) 设置为x

您似乎对功能的运作方式了解不多,请尝试阅读this指南。

答案 1 :(得分:0)

这很正常!首先,您需要在使用之前分配变量。行global zone允许python知道zone变量存在,而不是在函数中创建局部变量。如果缺少单词global,python会创建另一个具有相同名称但不同地址的变量(本地)。

zone = None
def  Function_1 (x,y):
  global zone
  #there are some conditions which get the value of variable zone
  return zone

def Function_2 (zone):
  #then there are some conditions wherein i use variable zone

Function_2 (zone)

在查看代码时,我们看到名为Function_1的函数返回zone。

  • 是否有必要使用zone作为全局变量?
  • 您可以重复使用Function_2的结果Function_1。这样的事情:Function_2 (Function_1 (x,y))