Python - 异常处理、模块和包

目录

一、异常

1、异常处理的语法

2、抛出异常

3、自定义异常

二、模块和包

1、模块

2、包

3、模块查找路径


一、异常

1、异常处理的语法

如果不确定出现什么异常,可以使用Exception接受所有异常

try:
	#你认为可能会出错的语法
except (异常名字1,异常名字2):
	#try语句出现异常时执行的代码
else:
	#try语句中没有出现异常时的代码
finally:
	#不管程序有没有出现异常,都要执行的代码

#########################
try:
	#你认为可能会出错的语法
except 异常名字 as error:
	#try语句出现异常时执行的代码
print(error)
else:
	#try语句中没有出现异常时的代码
finally:
	#不管程序有没有出现异常,都要执行的代码

#########################
try:
	#你认为可能会出错的语法
except 异常名字 as error:
	#try语句出现异常时执行的代码
print(error.args)
else:
	#try语句中没有出现异常时的代码
finally:
	#不管程序有没有出现异常,都要执行的代码

2、抛出异常

如果程序没有按照自己想象的样子执行出来,这时候可以抛出一个异常。例如自己写了一个SDK代码包,别人可以直接使用里面写的类和方法,如果是因为使用者自身传参数错误导致的错,那么可以直接抛出异常提醒使用者,这样就不会一报错就找到开发包的人。

raise ValueError("你的xxx传错了"),其中ValueError有很多种类型,需要对应找到错误类型填充。

3、自定义异常

自定义异常需要继承exception类。

二、模块和包

包本质上是一个文件夹,1个包里面装有相关联的模块,1一个模块可以看做是一个py.的文件。创建模块和包更方便代码的管理和项目的开发。

1、模块

  • 可以只导入某一个模块中的函数或者类。
  • 不建议使用import *,因为可能会有很多歌相同名字的模块,加载过多。
  • 也可以将导入进的模块重新命名,根据自己的需求重新as一个名字,简化名字,方便调用。

2、包

  • 要想让python识别出包,必须在这个文件夹中创建一个叫做__init__.py的文件,这个文件是一个空文件,但是拓展名必须是py. 。
  • 导入方式和导入模块的方式一样。
  • 如果同一个包中的模块想要相互导入,使用import xx from xx。

3、模块查找路径

  • 查找导入包的路径有哪些:import sys print(sys.path)
  • 绝对路径:详细的写入需要从哪里导入,from xxx import xxx
  • 绝对路径:from .xxx import xxx , 其中 "." 代表从当前目录下;若只想导入某个模块里面导入某个函数:from .model import function
  • 导入子模块:from ..model import function,其中 ".." 代表上级目录

4、__all__ 变量

  • 模块__all__变量的作用:当在模块中使用了__all__变量定义,如 __all__=['A','B'],那么在引入该模块的内容时,只能使用__all__变量中定义的变量。当使用 from model import *
  • 包中使用__all__变量:如果在__init__.py文件中使用了all变量,使用import * 的时候,将不能导入任何模块,需要强制写出来要导入的模块。或者是在相应的包中的__init__.py 文件中,写一个all变量 __all__=[]

to be continued...

---------------------

不忙的时候再来吧,感觉要重新总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值