我一直在尝试使用 Python 制作足球游戏。我遇到的大多数问题我都能找到解决方法。但是,我遇到了错误“全局名称'---'未定义”,指的是方法名称。据我所见,问题涉及尝试从方法调用方法。由于粘贴我的代码会花费太多时间来解释发生了什么,我写了一个非常基本的问题示例:
class example():
def doMath(x,y):
z = x + y
z = square(z)
return z
def square(z):
z = z * z
return z
print doMath(5,4)
这绝不是值得编写的程序,也不是进行该计算的聪明方法……它只是模仿了我遇到的问题。此代码将不起作用,因为方法“doMath”不知道方法“square”存在。我已经通过将 square 方法设为子方法来解决此问题(我不知道它叫什么,它只是缩进到主要方法下)。但是,这在我的足球代码中是不可行的,因为我将有多种方法调用它。我见过与此类似的问题,但答案仍然不适合我的代码。一个全局函数似乎是我正在寻找的,但它通常会导致一些不存在的错误。我可以只需在主目录中添加一堆指令,但这是我不想添加的大量工作和代码行 - 它会使它变得非常难看。
所以主要问题是......我怎样才能让 doMath 方法调用 square 方法而不必组合它们。
当我们这样做时......我一直在调用这些方法而不是函数......我对此是否正确?