异常处理,包,模块总结

异常处理:

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

  

    

   

     

原文地址:https://www.cnblogs.com/catherine007/p/8482942.html