• Python核心编程第二版 第十章课后答案


    10.1 

    引发异常。以下的哪个因素会在程序执行时引发异常?注意这里我们问的并不是异常

    的原因。

    a) 用户;

    b) 解释器;

    c) 程序;

    d) 以上所有;

    e) 只有 b) 和 c);

    f) 只有 a) 和 c)

    f
    

     

    10-2.引发异常。参考上边问题的列表,哪些因素会在执行交互解释器时引发异常?

    f
    

      

    10-3.关键字。用来引发异常的关键字有哪些?

    raise
    

      

    10-4.关键字。try-except和try-finally有什么不同?

    try-except:当try代码块运行出错,except代码块才会被执行(匹配到相应异常时),处理完异常后try-except后的代码会继续往下执行;

    try-finally:不管try代码块是否出现异常,最终都会执行finally里的代码。如果出现异常,执行完finally代码块后,异常会继续往上层抛。

    i = 1
    try:
        num = 10%i
    except:
        print('except')
    
    try:
        num = 10%i
    finally:
        print('finally')
    输出:finally

    10-5.异常。下面这些交互解释器下的Python代码段分别会引发什么异常(参阅表10.2给出的内建异常清单):

    (a)>>>if 3 < 4 then:print '3 is less than 4!'

    (b)>>>aList = ['Hello','World','Anyone','Home?']

    >>>print 'the last string in aList is: ',aList[len(aList)]

    (c)>>>x

    (d)>>>x = 4 % 0

    (e)>>>import math

    >>>i = math.sqrt(-1)

    (a) SyntaxError: invalid syntax
    (b) IndexError: list index out of range
    (c) NameError: name 'x' is not defined
    (d) ZeroDivisionError: integer division or modulo by zero
    (e) ValueError: math domain error
    

      

    10-6.改进的open()。为内建的open()函数创建一个封装。使得成功打开文件后,返回文件句柄:若打开失败则返回给调用者None,而不是生成一个异常。这样你打开文件就不需要额外的异常处理语句。

    def try_open(filename,mode = 'r'):
        try:
            f = open(filename,mode)
        except IOError:
            return None
        return f      

    10-7.异常。下面两端Python伪代码a)和b)有什么区别?考虑语句A和B的上下文环境。(这么细致的区别要感谢Guido!)

    (a)try:

      statement_A

        except . . .:

        . . .

     else:

     statement_B

    (b) try:

      statement_A

      statement_B

     except . . .:

        . . .

    情况1: 如果statement_A执行出错,则(a)和(b)都不会执行statement_B;
    情况2: 如果statement_A执行正常,则(a)和(b)都会执行statement_B——但是,如果statement_B的执行也出错,(b)可以在except子句里捕获到异常并做处理,而(a)则只能将statement_B产生的异常抛给上层调用者。
    

      

  • 相关阅读:
    深度学习练习(三)
    深度学习核心技术笔记(一)
    tensorflow的函数
    举例
    Tensorflow 笔记
    tensorflow框架
    基于python的感知机
    深度学习练习(一)
    深度学习练习(二)
    [javascript 实践篇]——那些你不知道的“奇淫巧技”
  • 原文地址:https://www.cnblogs.com/jiaoyang77/p/7488960.html
Copyright © 2020-2023  润新知