如何修复名称plot_cases_simple未被定义的错误

144 阅读4分钟

这修复编码错误的第一步是要了解错误。尽管有些错误信息看起来令人困惑,但大多数错误信息会帮助你修复错误。

在这篇文章中,我们将讨论一个属于Python中NameError 类别的错误。

你将看到什么是NameError ,一些代码例子来说明错误是如何/为什么发生的,以及如何修复它们。

什么是 Python 中的 NameError?

在 Python 中,当你试图使用一个不存在或没有以有效方式使用的变量、函数或模块时,会发生NameError

导致这个错误的一些常见错误是:

  • 使用一个尚未定义的变量或函数名称。
  • 在调用变量/函数时拼错了变量/函数的名字。
  • 使用一个Python模块而没有导入该模块,等等。

如何解决 "NameError:名称未被定义 "的问题。

在本节中,你将看到如何解决 "NameError:Name is Not Defined" 的错误。

我把这一节分成几个小节,以显示在使用变量、函数和模块时出现的上述错误。

我们将从引发该错误的代码块开始,然后看如何修复它们。

例子 #1 - 变量名称未在 Python 中定义

name = "John"

print(age)
# NameError: name 'age' is not defined

在上面的代码中,我们定义了一个name 变量,但试图打印尚未定义的age

我们得到了一个错误,说:NameError: name 'age' is not defined ,表明age 变量不存在。

为了解决这个问题,我们可以创建这个变量,我们的代码就可以正常运行了,下面是方法:

name = "John"
age = 12

print(age)
# 12

现在,age 的值被打印出来。

同样地,当我们拼错变量名时,也会产生同样的错误,这里有一个例子:

name = "John"

print(nam)
# NameError: name 'nam' is not defined

在上面的代码中,我们写的是nam ,而不是name 。要解决这样的错误,你只需要正确地拼写变量名。

例子 #2 - 函数名没有在 Python 中定义

def sayHello():
    print("Hello World!")
    
sayHelloo()
# NameError: name 'sayHelloo' is not defined

在上面的例子中,我们在调用函数的时候多加了一个o--sayHelloo() ,而不是sayHello()

我们得到了这样的错误:NameError: name 'sayHelloo' is not defined 。像这样的拼写错误是很容易被忽略的。错误信息通常有助于解决这个问题。

下面是调用该函数的正确方法:

def sayHello():
    print("Hello World!")
    
sayHello()
# Hello World!

就像我们在上一节看到的那样,调用一个尚未定义的变量会引发一个错误。这同样适用于函数。

这里有一个例子:

def sayHello():
    print("Hello World!")
    
sayHello()
# Hello World!

addTWoNumbers()
# NameError: name 'addTWoNumbers' is not defined

在上面的代码中,我们调用了一个在程序中尚未定义的函数--addTWoNumbers() 。为了解决这个问题,如果你需要的话,你可以创建这个函数,或者如果这个函数无关紧要的话,就把它删掉。

请注意,在创建一个函数之前调用该函数会给你带来同样的错误,就是说:

sayHello()

def sayHello():
    print("Hello World!")
    
# NameError: name 'sayHello' is not defined

所以你应该总是在调用函数之前定义你的函数。

例子 #3 - 在 Python 中使用一个模块而不导入模块的错误

x = 5.5

print(math.ceil(x))
# NameError: name 'math' is not defined

在上面的例子中,我们在没有导入math 模块的情况下利用了 Python 的math.ceil 方法。

结果错误是这样的:NameError: name 'math' is not defined 。发生这种情况是因为解释器没有识别math 这个关键字。

与Python中的其他数学方法一样,我们必须首先导入math 模块才能使用它。

这里有一个解决办法:

import math

x = 5.5

print(math.ceil(x))
# 6

在代码的第一行,我们导入了math 模块。现在,当你运行上面的代码时,你应该有6个返回。

总结

在这篇文章中,我们谈到了 "NameError:Name is Not Defined" 错误。

我们首先定义了 Python 中的NameError 是什么。

然后我们看到了一些在 Python 中处理变量、函数和模块时可能引发NameError 的例子。每个例子都分为几个部分,展示了如何解决这些错误。

编码愉快!