导航:首页 > 编程语言 > nameerrorpython

nameerrorpython

发布时间:2025-03-09 20:21:50

Ⅰ 我写了一个python程序,报错NameError: name XX is not defined 求解

Python程序,错误NameError:名称XX未定义不是由声明引起的,需要在文件的前两行声明代码,声明方法是:

1,在文件中写一个带有中文字符的python文件,不进行编码。

Ⅱ python新手常见的报错有哪些

1.NameError变量名错误
报错:
>>> print a
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
NameError: name 'a' is not defined
解决方案:
先要给a赋值。才能使用它。在实际编写代码过程中,报NameError错误时,查看该变量是否赋值,或者是否有大小写不一致错误,或者说不小心将变量名写错了。
注:在Python中,无需显示变量声明语句,变量在第一次被赋值时自动声明。
>>> a=1
>>> print a
1
2.IndentationError代码缩进错误
代码:
a=1
b=2
if a<b:
print a
报错:
IndentationError: expected an indented block
原因:
缩进有误,python的缩进非常严格,行首多个空格,少个空格都会报错。这是新手常犯的一个错误,由于不熟悉python编码规则。像def,class,if,for,while等代码块都需要缩进。
缩进为四个空格宽度,需要说明一点,不同的文本编辑器中制表符(tab键)代表的空格宽度不一,如果代码需要跨平台或跨编辑器读写,建议不要使用制表符。
解决方案:
a=1
b=2
if a<b:
print a
3.AttributeError对象属性错误
报错:
>>> import sys
>>> sys.Path
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
AttributeError: 'mole' object has no attribute 'Path'
原因:
sys模块没有Path属性。
解决方案:
python对大小写敏感,Path和path代表不同的变量。将Path改为path即可。
>>> sys.path
['', '/usr/lib/python2.6/site-packages']
python知识拓展:
使用dir函数查看某个模块的属性
>>> dir(sys)
['__displayhook__', '__doc__', '__egginsert', '__excepthook__', '__name__', '__package__', '__plen', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', 'api_version', 'argv', 'builtin_mole_names', 'byteorder', 'call_tracing', 'callstats', 'right', 'displayhook', 'dont_write_bytecode', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace', 'hexversion', 'maxint', 'maxsize', 'maxunicode', 'meta_path', 'moles', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'py3kwarning', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions']
4.TypeError类型错误
4.1入参类型错误
代码:
t=('a','b','c')
for i in range(t):
print a[i]
报错:
TypeError: range() integer end argument expected, got tuple.
原因:
range()函数期望的入参是整型(integer),但却给的入参为元组(tuple)
解决方案:
将入参元组t改为元组个数整型len(t)
将range(t)改为range(len(t))

Ⅲ Python 程序报:NameError: name 'sys' is not defined

在代码最前面加入一行代码:importsys。

出错是因为没有导入sys这个模块。

修改后的代码变为:

importsys

import pygame

pygame.init()

screen = pygame.display.set_mode([640,480])

while True:

for event in pygame.event.get():

if event.type == pygame.QUIT:

sys.exit()

(3)nameerrorpython扩展阅读:

Python编程常见问题

问题一,出现“name ‘name’ is not defined”报错

解决:"name"两端是双下划线"_",不是只有一个""。

问题二,出现“name 'messagebox' is not defined”报错

解决:“ ” 内为某个数据库的子mole。

在代码中加上语句:from tkinter import messagebox,默认情况下子mole不会自动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)

阅读全文

与nameerrorpython相关的资料

热点内容
zbrushpdf 浏览:897
met肌肉能量技术pdf 浏览:195
php面试重点 浏览:683
如何从管理员界面删除文件夹 浏览:908
单片机三总线信息如何隔离 浏览:690
云服务器研发费用明细 浏览:957
unity3d手机游戏开发pdf 浏览:366
mysql重启命令linux 浏览:876
程序员日常业余内容 浏览:363
steam如何更改吃鸡服务器 浏览:212
我的世界up主多人用什么服务器 浏览:161
缝纫机电脑机编程 浏览:59
autowired源码深度解析 浏览:895
校园卡怎么上app 浏览:743
pascal高精度算法 浏览:870
阿里云服务器如何修改php 浏览:8
51单片机小项目 浏览:607
为什么d盘e盘无法解压 浏览:314
软件放文件夹压缩以后会变小吗 浏览:669
文件夹中的图片怎么整体压缩 浏览:579