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

Python回顾与整理8:错误和异常

):   File "stdin>", line 1, in module> IOError: [Errno 2] No such file or  directory: 'xpleaf'AttributeError...尝试访问未知的对象属性>>> class myClass(object): ...   ...,异常参数自身会组成一个元组,并存储为这个异常类的属性         在这个例子中的分析是,引发了ValueError异常,然后e就是该异常的一个实例,并且在生成这个实例e的过程中,异常参数('could... or directory: 'xpleaf.txt'         with语句帮我们做了很多事情:试图打开一个文件,如果一切正常,把文件对象赋值给f.然后用迭代器遍历文件中的每一行,当完成时,关闭文件...当然这种方法仅适用于支持上下文管理协议的对象。关于上下文管理协议,由于目前还没有使用到,所以暂不做总结。

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

    异常处理(第十一章)内有福利

    File "stdin>", line 1, in module> AssertionError 就是说assert len(my_list)>0这个语句判断为假时会报错 因为my_list只有...“tianjun”这个字符串,pop()弹出后my_list为空,下面assert等式不成立,所以抛出异常 attributeerror尝试访问未知的对象属性 >>> my_list = [] >>>...my_list.fisa Traceback (most recent call last): File "stdin>", line 1, in module> AttributeError:...assert语句失败 AttributeError 特性应用或赋值时引发(试图访问一个对象没有的属性) IOError 试图打开不存在的文件或者无全新的文件等操作时...,就会引发(输入输入异常,基本是无法打开文件) ImportError 无法引入模块或包,基本是路径问题 IndexError 在使用系列中不存在的索引时引发(

    50320

    理解Python中的NoneType对象

    Python中用关键词None表征null对象,它并不是0,它是Python中的第一类对象。 None是什么 对于函数,如果在函数体中没有return语句,会默认返回None。...在第2行条件判断中,并没有显式地写some_result is None,这是因为None本身就是假,与之类似,下面的这些对象也是假: 空列表 空字典 空元组 空字符串 0 False 在Python中...第3行再次调用的时候,同样也没有给starter_list提供值,它依然应该是原有列表——注意观察定义函数时的参数。但是,返回值是在上一次调用返回结果中增加了新元素。...(None, my_list) ['a', 'b', 'c', 'd', 'e', None] 在上面的示例中,DontAppend类对象并没有追加到列表中,第12行,则实现了将None作为对象追加到列表中...', 5) Traceback (most recent call last): File "stdin>", line 1, in module> AttributeError: 'NoneType

    13.4K41

    【Python之旅】第四篇(二):Pyt

    试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它 AttributeError 试图访问一个对象没有的属性,比如myInst.foo,但是myInst没有属性... (most recent call last):   File "stdin>", line 1, in module> KeyError: 'age' NameError:使用一个还未被赋予对象的变量...AttributeError:试图访问一个对象没有的属性,比如myInst.foo,但是myInst没有属性foo >>> class myClass(): ...     ...上面的代码中,显然list和dict都是有错误的,但执行程序时,只返回list的异常信息,这说明,try语句在执行时是顺序执行的,并非是循环执行,即捕捉到list的异常后,并不会继续执行下一个语句,只有等异常解除时才会继续往下执行...当然except后面可以不加任何异常类型,此时,将会捕捉任何前面没有捕捉到的异常,这适合于一些未可预见的异常情况,如上面的程序,list异常和dict异常是我们可预料的,但假如这时加入一个不可预料的异常时

    74840

    Python基础之(九)错误和异常

    这个报错行为是由Python的语法分析器完成的,并且检测到了错误所在文件和行号(File "stdin>", line 1),还以向上箭头^标识错误位置(后面缺少:),最后显示错误类型。...KeyError 请求一个不存在的字典关键字 IOError 输入输出错误(比如你要读的文件不存在) AttributeError 尝试访问未知的对象属性 NameError >>> bar Traceback...不被赋值的变量,不能再Python中存在,因为变量相当于一个标签,要把它贴到对象上才有意义。...当程序运行到某个节点的时候,就断定某个变量的值必然是什么,或者对象必然拥有某个属性等,简单说就是断定什么东西必然是什么,如果不是,就抛出异常。 #!...什么是使用断言的最佳时机?有文章做了总结: 如果没有特别的目的,断言应该用于如下情况: 防御性的编程 运行时对程序逻辑的检测 合约性检查(比如前置条件,后置条件) 程序中的常量 检查文档

    75120

    挑战30天学完Python:Day15 错类类型

    in module> IndexError: list index out of rang >>> 在上边的例子中,Python引发了一个 IndexError 错误,因为定义的数字列表索引范围仅为...: No module named 'maths' >>> 在这个例子中,我想导入一个外部的 math 库,但我打成maths也就是说它实际上是不存在的。...AttributeError AttributeError表示属性错误。一般是某个声明的对象没有此属性,但却被引用进而引发的错误。...因此会引发一个AttributeError错误,这意味着该函数在模块中不存在。我们将PI改成pi来修正它。...Y 第15天练习 打开python交互式shell并练习本节中介绍的所有示例。 CONGRATULATIONS ! PS:本篇没有过度的编码练习,因此答案篇就没有了。

    23520

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

    (Pycharm 中通过点击文件链接可以定位到具体位置) 在这个例子中,因为我们的代码没有使用任何其他 Python 模块,所以我们在这里看到module>,它表示所处位置是在执行的文件。...AttributeError 当你访问一个对象的属性,但是这个属性并没有在这个对象定义的时候,就会引发 AttributeError。...' object has no attribute 'b' AttributeError 的错误消息行告诉我们特定对象类型(在本例中为 int)没有访问的属性, 在这个例子中属性为 b。.../chenxiangan/pythonproject/demo/exmpale.py", line 2, in module> a_list.append (3) AttributeError...: 'tuple' object has no attribute 'append' 这里尝试给 a_list 对象进行 append 操作但是引发了异常, 这里的错误信息说,tuple 对象没有

    2.6K10

    坑爹的Python陷阱(避坑指南)

    . >>> func() traceback (most recent call last): File "stdin>", line 1, in module> File "stdin>", line...究其原因,python中一切都是对象,函数也不列外,默认参数只是函数的一个属性。而默认参数在函数定义的时候已经求值了。...,究其原因,还是因为python中list是可变对象,上述的写法大家都指向的同一个可变对象,正确的姿势 >>> a = [[] for _ in xrange(10)] >>> a[0].append(...简单来说,如果在循环引用中的对象定义了del,那么python gc不能进行回收,因此,存在内存泄漏的风险 第八,不同的姿势import同一个module 示例在stackoverflow的例子上稍作修改...当然,在python2.7.10中,需要main.py的第13行才能出现这样的效果。你可能会问,谁会写出第13行这样的代码呢?

    1.3K21

    开源图书《Python完全自学教程》8.3.1类属性

    在8.2节所演示的初始化方法中定义的属性,都属于实例属性。本节要对类属性和实例属性分别进行深入阐述。 8.3.1 类属性 在交互模式下,创建一个简单的类。...不妨将“类属性”类比于产品的标准配置——每个产品在生产出来之后都具有的特性。在创建实例的时候,类属性会自动配置到每个实例中,即:通过实例也可以访问该属性——但它不是从属于实例的属性,切记!。...): File "stdin>", line 1, in module> AttributeError: type object 'Foo' has no attribute 'name' 类属性可以通过类名称访问...>>> j.author Traceback (most recent call last): File "stdin>", line 1, in module> AttributeError:...'Foo' object has no attribute 'author' 在 Python 中,不论什么对象,其属性都在该对象的 __dict__ 属性中—— __dict__ 名称是双下划线开始和结束

    39430

    第七章 Python异常处理

    KeyError 字典里面不存在的键 NameError 变量不存在 IndexError 下标超出序列范围 IOError 输入/输出异常;一般是无法打开文件 AttributeError 对象里没有属性...>>> print a Traceback (most recent call last):   File "stdin>", line 1, in module> NameError: name...在开发中往往不知道什么是什么异常类型,这时就可以使用Exception类型来捕捉所有的异常: 例如:打印一个类对象里面没有的属性 >>> class A: ...   a = 1 ...   ...7.4 else和finally语句 7.4.1 else语句 表示如果try中的代码没有引发异常,则会执行else。 继续按照上面定义的类举例: >>> try:     ...   ...一般用于清理工作,比如打开一个文件,不管是否文件是否操作成功,都应该关闭文件。

    56510
    领券