NameError: name ‘xxx’ is not defined

第一个练手小项目遇到N个NameError,技能熟练度蹭蹭往上涨,哈哈…
转发一个网上的比较全的解决贴,共勉。
原址:https://www.cnblogs.com/zyh19980816/p/11844659.html

问题一:name ‘name’ is not defined
“name"两端是双下划线”_",不是只有一个""。

问题二:name ‘messagebox’ is not defined
“ ” 内为某个数据库的子module。

在代码中加上如下语句:
from tkinter import messagebox
默认情况下子module不会自动import。

问题三:name ‘reload’ is not defined.
对于 Python 2.X
import sys
reload(sys)
sys.setdefaultencoding(“utf-8”)
对于 Python 3.3
import imp
imp.reload(sys)
注意:

Python 3 与 Python 2 有很大的区别,其中Python 3 系统默认使用的就是utf-8编码。

所以,对于使用的是Python 3 的情况,就不需要sys.setdefaultencoding(“utf-8”)这段代码。

最重要的是,Python 3 的 sys 库里面已经没有 setdefaultencoding() 函数了。

对于 Python 3.4:
import importlib
importlib.reload(sys)
问题四:name ‘file’ is not defined
f = file(‘poem.txt’, ‘w’) # open for 'w’riting
NameError: name ‘file’ is not defined
解决办法:file()改为open()

问题五:name ‘array’ is not defined
区分array和list,弄清楚道题想要啥类型;加载array模块。

from array import array
问题六: name ‘xx’ is not defined
IndentationError:expected an indented block

问题在于tab和空格混用导致出现了问题。

问题七:name ‘math’ is not defined

from math import *
改为

import math
问题八:python2中input出现的name“ ” is notdefined.
Python 2.X中对于input函数来说,它所希望读取到的是一个合法的Python表达式,即你在输入字符串的时候必须要用""将其扩起来;而在Python 3中,input默认接受的是str类型。

解决办法:1、在控制台进行输入参数时,将其变为一个合法的Python表达式,用" "将其扩起来

2、使用raw_input,因为raw_input将所有的输入看作字符串,并且返回一个字符串类型。

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: NameError: name '' is not defined 的意思是“名称错误:未定义名称''”。这通常是因为在代码中使用了未定义的变量或函数。需要检查代码中是否有拼写错误或未声明的变量或函数。 ### 回答2: 在Python中,变量名必须在使用之前先被定义。如果变量名没有被定义或声明,那么当你在程序中使用该变量时就会出现“nameerror:name '变量名' is not defined”的错误。 这个错误是Python的一种“异常”,通常在运行python程序过程中出现。 这种错误通常会发生在程序中使用未定义的变量或函数名称时。例如,如果你尝试在程序中使用一个未定义的变量名,那么Python就会报告“nameerror”错误。同样,如果你在程序中调用一个未定义的函数,也会收到类似的错误信息。 为了解决这个错误,你需要先确保你已经正确地定义了程序中所使用的所有变量名称和函数名称。此外,你还应该检查自己的拼写是否正确,以确保所有名称都正确地拼写。 在更复杂的程序中,也可能会发生变量名称与其他变量名称之间的冲突或覆盖,从而导致名称错误。在这种情况下,你需要更加仔细地检查代码,并确保你的变量和函数名称都是唯一的。 总的来说,当你在程序中使用未定义的变量名称或函数名称时,Python就会报告“nameerror”错误。要解决这个问题,需要先检查所有名称是否正确地定义和拼写,以确保程序可以正确运行。 ### 回答3: 这个错误提示表明被调用的变量或函数没有被定义或者没有赋值。这种错误通常出现在Python代码运行时,因为Python在解释代码时会逐行读取并执行代码。 在Python中,变量必须先被定义和赋值后才能被调用。如果变量没有被定义或者没有被正确赋值,调用变量的时候就会引发“nameerror: name 'xxx' is not defined”的错误,其中xxx表示变量的名称。 除了变量,函数也同样会出现这个错误。如果调用函数时函数没有被定义或者定义不正确,Python同样会抛出这个错误。 为了避免这种错误的出现,开发者可以遵循以下几个建议: 1. 在使用变量之前,先声明该变量,同时进行正确的赋值,确保变量被正确地定义。 2. 在调用函数之前,先确保该函数被正确定义,定义的函数名和调用函数时使用的名称一致。 3. 检查变量名和函数名称,确保没有拼写错误。 最后,如果出现了“nameerror: name 'XXX' is not defined”的错误,可以在代码中添加print语句或者使用IDE调试工具排查问题,找到未定义或赋值不正确的变量或函数,并及时进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值