首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一文教你读懂 Python 中的异常信息

在上面的错误信息中,异常类型NameError,意思是名称使用了一个没定义的名称(变量、函数、类)的引用。在本例中,引用的名称是 someon。...点击文件链接可以快速定位到具体的错误代码的位置。 大多数情况下,引发这个异常表明你正在处理的对象可能不是你期望的类型。...原因就是以为 a_list 是列表但是实际上它是元组, 元组是不可类型不支持添加元素操作所以出错了。这里也告诉大家,以后定义变量名的时候也要主要规范问题,否则就容易出现这种,期望类型错误的情况。...并没有太多的内容,但是,结合上面的错误信息,就可以解决这个问题。 NameError 当你引用了变量、模块、类、函数或代码中没有定义的其他名称时,将引发 NameError。...: name 'persn' is not defined NameError traceback 的错误消息行给出了缺失的名称 persn。

2.4K10
您找到你想要的搜索结果了吗?
是的
没有找到

什么是异常

例子中的类型有 ZeroDivisionError,NameError 和 TypeError。...OSError 操作系统错误 WindowsError 系统调用失败 ImportError 导入模块/对象失败 LookupError 无效数据查询的基类 IndexError 序列中没有此索引(index...) KeyError 映射中没有这个键 MemoryError 内存溢出错误(对于Python 解释器不是致命的) NameError 未声明/初始化对象 (没有属性) UnboundLocalError...如果异常的类型和 except 之后的名称相符,那么对应的 except 子句将被执行。 一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。...PS D:\learning\git\work> 语句中 Exception 是异常的类型(例如,NameError)参数标准异常中任一种,args 是自已提供的异常参数。

1.1K40

Python3 错误和异常

# spam 未定义,触发异常 NameError: name 'spam' is not defined In [4]: '2' + 2 # int 不能与 str 相加...,这些类型都作为信息的一部分打印出来: 例子中的类型有 ZeroDivisionError,NameError 和 TypeError。...错误信息的前面部分显示了异常发生的上下文,并以调用栈的形式显示具体信息。 异常处理 try/except 异常捕捉可以使用 try/except 语句。...如果异常的类型和 except 之后的名称相符,那么对应的 except 子句将被执行。 如果一个异常没有与任何的 except 匹配,那么这个异常将会传递给上层的 try 中。...异常处理并不仅仅处理那些直接发生在 try 子句中的异常,而且还能处理子句中调用的函数(甚至间接调用的函数)里抛出的异常。

94900

全网最值得收藏的Python常见报错及其解决方案,再也不用担心遇到BUG了!

目录 一、Python2升级Python3发生的错误 1、print 变成了 print() 2、raw_Input 变成了 input 3、整数及除法的问题 4、异常处理大升级 5、解决 “NameError...attribute 'has_key' ”错误提示 9、解决“lmportError: No module named urllib2”错误提示 二、程序常见错误 1、解决 “IndentationError...named urllib2”错误提示 在 Python 3 中 urllib2 已经被 urllib.request 替代,所以 解决方法是将urllib2修改为urllib.request。...6、解决“TypeError: 'str' object does not support item assignment”错误提示 这个错误通常是由于尝试修改string的值引起的,string 是一种不可变的数据类型...此外,我们对lst进行的赋值操作是基于lst自身(这再一次被Python 当成了局部变量),但此时还未定义,因此出错!所以在这里就需要格外区分局部变量和外部变量的使用过程了。

1.3K00

【Python】笔记第五部分:盒子的箱子,异常

import 模块 as 名称 # 主动过来,面向对象,直接可以拿来用。 from 模块 import 成员1, 成员1, 成员1 当名字有冲突的时候,遵循就近原则。...当异常发生时,程序不会再向下执行,而转到函数的调用语句。 名称异常(NameError):变量未定义类型异常(TypeError):不同类型数据进行运算。...属性异常(AttributeError):对象没有对应名称的属性。 键异常(KeyError):没有对应名称的键。 异常基类Exception。...raise 语句,主动抛出一个错误,让程序进入异常状态。在程序调用层数较深时,向主调函数传递错误信息要层层return比较麻烦,所以人为抛出异常,可以直接传递错误信息。...处理语句2 except Exception [as 变量3]: 不是以上任何错误类型的处理语句 else: 未发生异常的语句 finally: 无论是否发生异常的语句 as 子句是用于绑定错误对象的变量

69810

【最全BUG修复宝典】肝!你遇到的BUG解决方案全在这了!

NameError: name 'xrange' is not definedw” 错误提示 6、解决“name 'reload' is not defined 和 AttributeError:...has no attribute 'has_key' ”错误提示 9、解决“lmportError: No module named urllib2”错误提示 二、程序常见错误 1、解决 “IndentationError...named urllib2”错误提示 在 Python 3 中 urllib2 已经被 urllib.request 替代,所以 解决方法是将urllib2修改为urllib.request。...6、解决“TypeError: 'str' object does not support item assignment”错误提示 这个错误通常是由于尝试修改string的值引起的,string 是一种不可变的数据类型...此外,我们对lst进行的赋值操作是基于lst自身(这再一次被Python 当成了局部变量),但此时还未定义,因此出错!所以在这里就需要格外区分局部变量和外部变量的使用过程了。

1.3K31

Python编程中的Bug漫谈:解决问题的艺术

类型错误(Type Error):混淆的根源 在Python中,类型错误是最常见的Bug之一。当你试图对不同类型对象执行不兼容的操作时,就会触发类型错误。...例如,尝试将一个字符串和一个整数相加: a = "Hello" b = 42 result = a + b  # 引发 TypeError 解决这类Bug的方法是确保进行操作的对象具有相容的类型。...命名错误NameError):拼写检查的必要性 拼写错误是一个容易忽视但常见的Bug来源。当你使用了未定义的变量或函数时,Python会引发命名错误。...print(variable_name)  # 引发 NameError 避免这类Bug的方法是仔细检查你的代码,确保你使用的变量和函数名称是正确的。 5....# 错误的导入方式 from my_module import my_function  # 引发 ModuleNotFoundError # 正确的导入方式 from .my_module import

15910

图解python | 命名空间与作用域

1.命名空间 命名空间,也称为Namespace、名称空间或名字空间,指的是从名字到对象的一个映射关系,类似于字典中的键值对,Python中很多命名空间的实现用的就是字典。...是内嵌的局部名称 num3 = 7 如下图所示,相同的对象名称可以存在于多个命名空间中。...在一个 python 程序中,直接访问一个变量,会从内到外依次访问所有的作用域直到找到,否则会报未定义错误。...> NameError: name 'msg_inner' is not defined >>> 从报错的信息上看,说明了 msg_inner 未定义,无法使用,因为它是局部变量,只有在函数内可以使用...调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。

1.4K61

Python每日一谈|No.16.错误

在使用Python时报错是不可避免的事情 我们来看错误的产生以及分类,以及如何对其进行调试 错误 python有两种错误,十分容易辨别 1.语法错误 语法错误是因为不规范的代码引发的,例如 In...:,关键词是这个SyntaxError: invalid syntax 2.异常 异常是python另外一个容易遇见的错误,即使你的语法是正常的,在运行期间也有可能遇到错误 可能原因有变量未定义,int...与str搞错等等 例如 In [5]: a = 1 In [6]: b = 2 In [7]: c = 'nihao' # 打印出一个未定义的变量 In [8]: print(d) ------...Traceback (most recent call last) ipython-input-8-85549cb1de5f> in module> ----...> 1 print(d) NameError: name 'd' is not defined # 整数和字符串相加 In [9]: a + c --------------------------

64640

Python中eval带来的潜在风险,你知道吗?

比如动态模块的引入,举个栗子,一个在线爬虫平台上爬虫可能有多个并且位于不同的 模块中,服务器端但往往只需要调用用户在客户端选择的爬虫类型,并通过后端的exec或者eval进行动态调用,后端编码实现非常方便...> File "", line 1, in NameError: name 'os' is not defined 如果指定只允许调用abs函数,可以使用下面的写法:...> File "", line 1, in NameError: name 'os' is not defined >>> eval('os.system(\'whoami...原理是通过嵌套的lambda来构造一片代码段,即code对象。为这个code对象分配空的栈,并给出相应的代码字符串,这里是KABOOM,在空栈上执行代码,会出现crash。...构造完成后,调用fc函数即可触发,其思路不可谓不淫荡。

2.8K80

Python中对错误NameError: name ‘xxx‘ is not defined进行总结

错误NameError: name 'xxx' is not defined总结 情况一:要加双引号(" ")或者(' ')而没加 情况二:字符缩进格式的问题 情况三:`if __name__=='...defined 情况六:NameError: name '`reload`' is not defined 情况七:全局变量的问题 情况八:两个.py文件的函数或类调用问题 声明:这只针对python...以上两种情况不可原谅。。。。...‘模块’ is not defined 该导入的模块没导入,在调用时也会出现这样的问题: 以下代码使用了urllib模块:如果没有import urllib那肯定出错 def askURL(url):...一个.py文件要调用另一个.py文件中的函数或者类时,需要添加该代码文件所在路径,否则会报“NameError: name 'XXX' is not defined”的错误

123.2K83

最新Python大数据之Python基础【十】学生管理系统面向对象

,就在except 后边添加异常的类型 # # 在异常类型之后添加上个as 变量名 这时候 变量就是异常对象,打印该对象就可以出现错误信息 # except ZeroDivisionError as...: name 'os' is not defined # # print(os.listdir()) # # 如果给模块起了别名.则原名称不可使用 # print(xitong.listdir())...# from os import listdir as ls # print(ls()) # NameError: name 'listdir' is not defined # 给功能名称起别名后,无法使用原名称只能使用新的功能名称..._02 # # 调用 : 包名.模块名.功能名称 # my_package.module_02.func() # 导入包: from 包名 import 模块名 # from my_package import...module_01 # # 调用: 模块名.功能名称 # print(module_01.age) # 导入包: from 包名 import * from my_package import *

1.1K40

腾讯大佬整理了 Python 所有内置异常,Python高手必备的排错手册

在编写程序时,可能会经常报出一些异常,很大一方面原因是自己的疏忽大意导致程序给出错误信息,另一方面是因为有些异常是程序运行时不可避免的,比如:在爬虫时可能有几个网页的结构不一致,这时两种结构的网页用同一套代码就会出错...,也就是说将某个操作或功能应用于不合适类型对象时引发,比如整型与字符型进行加减法、在两个列表之间进行相减操作等等 In [8]: a = [1,2];b = [2,3] In [9]: a-b ---...> ----> 1 dict_['3'] KeyError: '3' 5、ValueError ValueError 为值错误,当用户传入一个调用者不期望的值时会引发,即使这个值的类型是正确的,比如想获取一个列表中某个不存在值的索引...,比如列表有 index 方法,而字典却没有,所以对一个字典对象调用该方法就会引发该异常 In [25]: dict_ = {'1':'yi','2':'er'} In [26]: dict_.index...是指变量名称发生错误,比如用户试图调用一个还未被赋值或初始化的变量时会被触发 In [27]: print(list_) ---------------------------------------

99430

一图流:Python所有内置异常

在编写程序时,可能会经常报出一些异常,很大一方面原因是自己的疏忽大意导致程序给出错误信息,另一方面是因为有些异常是程序运行时不可避免的,比如在爬虫时可能有几个网页的结构不一致,这时两种结构的网页用同一套代码就会出错...,也就是说将某个操作或功能应用于不合适类型对象时引发,比如整型与字符型进行加减法、在两个列表之间进行相减操作等等。...> ----> 1 dict_['3'] KeyError: '3' 5、ValueError ValueError为值错误,当用户传入一个调用者不期望的值时会引发,即使这个值的类型是正确的,比如想获取一个列表中某个不存在值的索引...,比如列表有index方法,而字典却没有,所以对一个字典对象调用该方法就会引发该异常。...是指变量名称发生错误,比如用户试图调用一个还未被赋值或初始化的变量时会被触发。

90830

干!一张图整理了 Python 所有内置异常

在编写程序时,可能会经常报出一些异常,很大一方面原因是自己的疏忽大意导致程序给出错误信息,另一方面是因为有些异常是程序运行时不可避免的,比如在爬虫时可能有几个网页的结构不一致,这时两种结构的网页用同一套代码就会出错...,也就是说将某个操作或功能应用于不合适类型对象时引发,比如整型与字符型进行加减法、在两个列表之间进行相减操作等等。...> ----> 1 dict_['3'] KeyError: '3' 5、ValueError ValueError为值错误,当用户传入一个调用者不期望的值时会引发,即使这个值的类型是正确的,比如想获取一个列表中某个不存在值的索引...,比如列表有index方法,而字典却没有,所以对一个字典对象调用该方法就会引发该异常。...是变量名称发生错误,比如用户试图调用一个还未被赋值或初始化的变量时会被触发。

94030
领券