第九、十章 异常、模块、包以及数据可视化

第九章  异常、模块、包

异常

捕获异常

捕获常规异常

# 捕获常规异常
try:
	f = open("D:/abc.txt", "r", encoding = "UTF-8")
except:
	print("出现异常了,因为文件不存在,我将open的模式,改为w模式去打开")
	f = open("D:/abc.txt", "w", encoding = "UTF-8")
出现异常了,因为文件不存在,我将open的模式,改为w模式去打开

捕获指定异常

# 捕获指定的异常
try:
	print(name)
except NameError as e:
	print(e)
name 'name' is not defined
未正确设置捕获异常类型,将无法捕获异常
try:
	print(name)
except ZeroDivisionError as e:
	print(e)

捕获多个异常
try:
	1 / 0
	print(name)
except (NameError, ZeroDivisionError) as e:
	print("出现了变量未定义  或者  除以0的异常错误")
出现了变量未定义  或者  除以0的异常错误
捕获所有异常
# 捕获所有异常
try:
	f = open("D:/abc.txt", "r")
except Exception as e:
	print(e)
[Errno 2] No such file or directory: 'D:/abc.txt'

异常else

else表示的是如果没有异常要执行的代码。

try:
	print("Hello")
except Exception as e:
	print("出现异常了")
else:
	print("好高兴,没有异常")
Hello
好高兴,没有异常

异常的finally

finally表示的是无论是否异常都要执行的代码,例如关闭文件。

try:
	f = open("D:/abc.txt", "r")
except Exception as e:
	print("出现异常了")
	f = open("D:/abc.txt", "w")
else:
	print("好高兴,没有异常")
finally:
	print("我是finally,有没有异常我都要执行")
	f.close()
出现异常了
我是finally,有没有异常我都要执行

异常的传递性

# 定义一个出现异常的方法
def func1():
	print("func1  开始执行")
	num = 1 / 0
	print("func1  结束执行")
	
# 定义一个无异常的方法,调用上面的方法
def func2():
	print("func2  开始执行")
	func1()
	print("func2  结束执行")

# 定义一个方法,调用上面的方法
def main():
	func2()

main()

模块

概念

Python 模块(Module),是一个 Python 文件,以 .py 结尾模块能定义函数,类和变量,模块里也能包含可执行的代码。

作用

每一个模块都可以帮助我们快速的实现一些功能,比如实现和时间相关的功能就可以使用time模块,我们可以认为一个模块就是一个工具包,每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能。

导入方式

模块的导入一般写在代码文件的开头位置

import 模块名

# 导入时间模块
import time

print("开始")
# 让程序睡眠3秒(阻塞)
time.sleep(3)
print("结束")
开始
# 3秒后
结束
from 模块名 import 功能名

# 导入时间模块中的sleep功能
from time import sleep

print("开始")
# 让程序睡眠3秒(阻塞)
sleep(3)
print("结束")
开始
# 3秒后
结束
from 模块名 import *

# 导入时间模块中的所有功能
from time import*

print("开始")
# 让程序睡眠3秒(阻塞)
sleep(3)
print("结束")
开始
# 3秒后
结束
as定义别名

# 功能别名
from time import sleep as tt

print("开始")
# 让程序睡眠3秒(阻塞)
tt(3)
print("结束")
开始
# 3秒后
结束
# 模块别名
import time as tt

print("开始")
# 让程序睡眠3秒(阻塞)
tt.sleep(3)
print("结束")
开始
# 3秒后
结束

自定义模块

注意事项:当导入多个模块的时候,且这几个模块内有同名功能,当调用同名功能的时候,调用到的是后面导入的模块的功能

__all__

如果没有给__all__变量设定值,则当import *时,模块内的功能都可以调用

__name__

__name__是python文件中的内置变量,当运行python文件时,__name__变量会被赋值为__main__,此功能可以用来控制测试模块文件中的输出。

总述

创建包的步骤

__all__控制包中模块的导入

安装第三方包

总述

安装方法一

综合案例

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值