zoukankan      html  css  js  c++  java
  • 异常处理,包,模块总结

    异常处理:

    1,是由语法上的错误引发的异常 (程序执行前就改正)

    2,是逻辑上的错误引发的异常

    预防:对于逻辑上的错误,尽量用if来预防异常

    无法预防对于的逻辑上无法预知的错误,应该用try。。。except处理

    try。。。except 语法:

      

    try:
        被检测的代码块
    except 异常name as e:
      print(e)
    except 异常name as e:
      print(e)
    except 异常name as e:
      print(e)
    except exception as e: #万能异常
      pass
    else:
      没有异常的时候触发
    finally:
      有没有异常都触发
    class myexceprion(baseexceprion): #自定义异常
      pass
    raise type(‘异常值’) #主动触发异常
    assert 1==2 ##断言不通过,就抛出异常
    #保证程序走到某一个阶段的时候,xx必须等于xx,程序才能往下走
    #否则,抛出异常


      万能异常使用:同一种错误。

    二,模块与包

         模块分三类:内置模块,第三方模块,自定义模块

      包是从文件夹/目录,级别组织模块。

    模块的使用 2种 方法:

    1,improt

    2,from。。。import

    只要导入都会干3件事情:

    1,执行文件。

    2,创建名称空间。

    3,创建模块名,指向该文件创建的名称空间。

         模块名。名字

    导入模块,使用注意事项:

    import spam 

    spam.name  使用的时候,必须带spam

    from spam import name

    name                   直接用最后的name名字

    导入包,使用注意事项:

    1,点的左侧,必须是一个包

    2, import glance.api.policy

      glance.api.policy.name   使用的时候,要带上前面的,加上点policy

    3,from glance.api.policy import name

      name          使用的时候,直接用name

          from   ....import...  (import后面是name,不能带点)

    特别注意:

    1,import导入内置或第三方模块,但是绝对要避免使用import来导入自定义包的子模块。

    2,应当使用from...import...的绝对或相对导入,且包的相对导入只能用from的形式。

        尽量用相对导入。(绝对导入,如果改名,就会出现问题)

    3,把包当作模块去看sys

      

        

       

         

  • 相关阅读:
    hdu5728 PowMod
    CF1156E Special Segments of Permutation
    CF1182E Product Oriented Recurrence
    CF1082E Increasing Frequency
    CF623B Array GCD
    CF1168B Good Triple
    CF1175E Minimal Segment Cover
    php 正则
    windows 下安装composer
    windows apache "The requested operation has failed" 启动失败
  • 原文地址:https://www.cnblogs.com/catherine007/p/8482942.html
Copyright © 2011-2022 走看看