异常、模块和包笔记

一、异常
1、捕获常规异常
提前假设某处会出现异常,做好提前准备,当真的出现异常的时候可以有后续手段
语法为:

try:
可能出现问题的语句
except:
如果出现异常执行的代码

缺点:如果异常类型与准备类型不同则无法正常捕获

2、捕获指定异常
语法为:

try:
可能出现问题的语句
except 异常类型 as 别名:
如果出现异常执行的代码

3、捕获多个异常
利用元组将多个异常类型储存并放在(2)的”异常类型“位置

4、捕获所有异常
语法为:

try:
可能出现问题的语句
except Exception:
如果出现异常执行的代码

与1、捕获常规异常的含义基本相同

5、else
如果没有异常需要执行的代码(可写可不写)
语法为:

try:

except:

else:

6、finally
不管有没有异常都需要执行的代码(可写可不写)
语法为:

try:

except:

else:

finally:

finally与else无存在关系,均可单独和try以及except组合,也可以同时组合使用

7、异常的传递性
异常具有传递性,捕获异常并不一定要追溯到异常的具体代码,在调用的过程中同样可以捕获异常,例如

def test01():
    num = 1 / 0 # 出现异常

def test02():
    try:
        test01() # 调用异常语句
    except Exception as e:
        print(e) # 成功捕获异常

二、模块
模块是一个.py文件,能定义函数、类和变量,也能包含可执行的代码
p.s: []中的部分表示可选

1、模块的导入方式:
语法为:

[from 模块名] import [模块|类|变量|函数|*] [as 别名]

# 代码示例1
import time
time.sleep(5) # time中的所有函数都能使用
# 代码示例2
from time import sleep
sleep(5) # 只能使用time中的sleep
# 代码示例3
from time import * # *代表全部的意思
sleep(5) # 写法与示例1不同,示例1需要time.sleep(),而此处只需要sleep()
# 代码示例4
from time import sleep as s # 给sleep起别名为s
s(5) # 等价于sleep(5)

模块导入一般在代码开头写好

2、自定义模块
自定义模块时需要满足标识符的命名规则
当导入多个模块且其中有同名功能时,后导入的功能会覆盖先导入的功能并实现

# 在自定义模块中如果有测试代码,在导入的时候也会同时执行,此时则可以加入语法:
if __name__ == '__main__':
    print(666) # 测试代码
# 则导入时不会执行

如果一个模块中有’all’变量(列表),当使用from … import *导入时,只能导入这个列表中的元素

# 代码示例
__all__ = ['test01']
def test01():
    print("test01") # 会被导入其他文件
def test02():
    print("test02:) # 不会被导入其他文件

三、包
包就是一个文件夹,其中包含了一个"init.py"文件,该文件夹可用于包含多个模块
包的本质也是模块
1、自定义包的导入
语法为:

import 包名.模块名

# 代码示例,假设包名package内有test.py内有函数test01()
import package.test as p
p.test01()

如果要加入"all"来控制import *的功能,则需要在"init.py"中加入

2、第三方包
安装第三方包:打开cmd,输入内容 :

pip install 包名

即可自动在网络上下载第三方包(国外网站)

要是感觉下载速度慢,则也可以选择第二种形式:

pip install -i http://pypi.tuna.tsinghua.edu.cn/simple 包名

即可自动在网络上下载第三方包(国内网站)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值