异常处理与包的导入
异常处理
在程序中,出现的异常错误大多分为两种,一种是语法错误,一种是逻辑错误。
异常处理的语法:
try: 被检测的代码块 except 异常类型 as e: try中一旦检测到异常,就执行这个位置的逻辑
万能异常:
try: 被检测的代码块 except Exception as e: print(e)
主动触发异常:
try: raise TypeError("类型错误") except Exception as e: print(e)
模块导入
第一件事:创建名称空间,用来存放spam.py中定义的名字
第二件事:基于刚刚创建的名称空间来执行spam.py
第三件事:创建名字spam指向该名称空间,spam.名字的操作,都是以spam.py为准。
先找内存:sys.modules-----》再找内建---------->最后找sys.path
包导入
无论是import还是from XXX import XXX 的形式,凡是在导入语句中,遇到带点的,都是第一时间提高警惕:这是关于包导入才有的语法。
包的本质就是一个包含__init__.py文件的目录。
凡是在导入时带点的,点的左边都必须是一个包。
绝对导入:
# 绝对导入 from 包名.包名... import 模块 模块.方法()
相对导入:相对导入的点,一个点是当前目录,两个点是上级目录。
#相对导入 from .. 包名 import 模块 模块.方法()
特别注意的是:可以用import导入内置或者第三方模块,但是要绝对避免使用import来导入自定义包的子模块,
应该使用from ... import ... 的绝对或者相对导入,且包的相对导入只能用from的形式。
----------- END ----------