Python:尝试将函数参数传递给类中的另一个函数,得到NameError:name''未定义

时间:2017-07-19 00:20:00

标签: python class methods arguments

Python新手在这里。我正在写一个类,它有一个计算两组坐标之间距离的方法。这个方法有两个参数:

  1. 一对房子的坐标
  2. 地铁站的一对坐标
  3. 这是我的代码:

    LIKE

    当我在python控制台中运行时,这就是我得到的:

      
        
          

    slsu =测试()

                 

    slsu.c_coord()       [{'ID':6221530552,'coordinates':'40 .745300,-73.861100'},...

                 

    slsu.q_coord()       [{'station':'21st Street(IND Crosstown Line)','coordinates':'40 .744591,-73.948674'},...

                 

    slsu.calc_dist(cCoord,qCoord)       Traceback(最近一次调用最后一次):         文件“”,第1行,in       NameError:名称'cCoord'未定义

        
      

    我需要一些帮助来理解这个错误以及如何解决它?我想如果你把一个参数传递给函数,它会自动识别吗?

1 个答案:

答案 0 :(得分:1)

您必须声明变量cCoord和qCoord。函数不返回可以使用的变量。将功能视为黑盒子。它可以使用您提供的变量,但它所做的任何更改都不会影响该函数之外的任何变量。 return命令只是意味着如果你设置一个等于c_Coord()的变量,那么该变量将具有该函数返回的值。要解决此问题,请将变量设置为两个Coord函数。

cCoord = c_Coord()
qCoord = q_Coord()

这两个函数都已运行,现在您可以使用它们在这些函数之外返回的内容。