Python异常和模块

本文介绍了Python中的异常处理机制,包括如何捕获和抛出异常,确保程序的稳定运行。同时,讲解了模块和包的概念,模块是Python代码的组织单元,而包则是一种更高级的模块组织形式,通过`__init__.py`文件实现。理解并掌握这些内容能提升代码的可维护性和复用性。
摘要由CSDN通过智能技术生成

1 异常

异常:程序在运行时,如果Python解释器遇到一个错误,会停止程序的执行,并提示一些错误信息。

抛出(raise)异常:程序停止执行并且提示错误信息这个动作。

在程序开发时,难以将所有特殊情况处理得面面俱到,通过异常捕获针对突发事件做集中处理,从而保证程序的稳定性和健壮性。

1.1 捕获异常

try:
    尝试执行的代码
except 错误类型1:
    出现错误1的处理
except (错误类型2,错误类型3):
   出现错误2和3的处理
except Exception as result:
   捕获未知错误(result记录错误信息)
else:
   没有异常才会执行的代码
finally:
   无论是否有异常都会执行的代码

1.2 抛出异常

在开发中,除了代码执行出错 Python 解释器会抛出异常之外,还可以根据应用程序特有的业务需求主动抛出异常。

Python中提供了一个Exception异常类,通过创建一个Exception类的对象,使用raise关键字抛出异常对象。

def input_pwd():
    pwd = input("请输入密码:")
    if len(pwd > 8):
        return pwd
    ex = Exception("密码长度不够!")
    raise ex

try:
    print(input_pwd()
except Exception as result:
    print(f"发现错误: {result}")

2 模块和包

2.1 模块

所有以扩展名py结尾的Python源代码文件都是模块。模块名也是标识符,需要符合标识符的命名规则。

在模块中定义的全局变量、函数与类都是提供给外界直接使用的工具,模块类似于工具包,要想使用这个工具包中的工具,需要先导入这个模块:

  • import 模块名 as 别名,导入之后使用 模块名.工具名 使用具体的工具

  • from 模块名 import 工具名,导入具体的工具之后,不需要通过模块名. ,可直接使用;如果两个模块,存在同名的函数,后导入模块的函数,会 覆盖掉先导入的函数。

    import代码统一写在代码顶部,更容易及时发现冲突,一旦发现冲突,可使用 as 关键字给其中一个工具起一个别名,一般不推荐使用 from…import * ,若存在函数重名,使用此方式导入难以发现问题。

Python解释器在导入模块时,会先搜索当前目录是否存在导入的模块, 如果存在则直接导入,若不存在,则再系统目录中进行搜索。通过模块的内置属性 __file__ 可以查看模块完整路径。

2.2 包

包是一个包含多个模块的特殊目录,目录下有一个__init__.py文件,包名的命名方式和变量名一致(小写字母 + _),使用 import 包名可以导入包中所有的模块。

要在外界使用包中的模块,需要在 __init__.py 中指定对外界提供的模块列表(from 路径 import 模块名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值