从0开始python学习-11.导包和异常处理

文章介绍了Python中如何导入模块,包括全部导入、指定导入和取别名的方式。接着列举了常见的Python异常类型,如SyntaxError、NameError、TypeError等,并通过示例解释了这些错误。最后,文章讲解了异常捕获机制,包括try-except-else-finally的用法及其执行流程。
摘要由CSDN通过智能技术生成

目录

1. 导包

2. 模块被导入之后取别名

3.常见异常类型

异常捕获


1. 导包

1. 直接导入模块内的所有内容,通过模块名.方法名()调用

import random

print(random.randint(1, 3))

2. 指定导入某个模块的方法或函数等,可以指定单个或者多个,使用【,】分隔,如果是导入很多个可以直接使用【*】表示。直接通过方法名()调用
3. 如果导入的是自定义的模块和包,模块名和包名一定要符合标识符的命名规则

from random import randint

print(randint(1, 3))

2. 模块被导入之后取别名

1. 在模块名比较复杂的情况下可以自定义模块名(符合标识符命名规则)
2. 如果使用了别名,原来的模块名会失效
3. 只能用别名进行模块内容的调用

import random as r

print(r.randint(1,3))

3.常见异常类型

1. SyntaxError:语法错误

print"aa" # SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?

2. NameError:变量名错误

print(a) # NameError: name 'a' is not defined

3. TypeError:类型错误

a = "1"

print(a+1) # TypeError: can only concatenate str (not "int") to str

4. ZeroDivisionError:除数为零错误

print(1/0) # ZeroDivisionError: division by zero

5. indexError:索引错误

a = [0,1,2] print(a[3]) # IndexError: list index out of range

异常捕获

1. try:关键字实现捕获异常,把可能出现的异常带模块放到try下面,当try中出现了一个异常那么后面的代码将不会再执行
2. except:出现异常之后需要处理的方式
3. else:可能会出现异常,但是没有出现执行的代码块
4. finally:不管有没有出现异常,一定会执行的代码块
5. except和else是对立的,只会执行里面任意一种情况

try:
    print(1)
    print(a)  # NameError: name 'a' is not defined
    print(2)
except NameError as e:
    print(e)
    print("try当中出现报错会打印的模块")
else:
    print("try当中没有任何异常会打印的模块")
finally:
    print("一定会打印的模块")

打印结果:

1. 报错异常一起的代码会执行,所以【1】能打印出来

2. 当指定到异常代码块时就会跳转到except中执行,可以将异常打印出来进行查看

3. 由于出现了异常,因而异常代码块后面的代码都不会执行,else中的代码块也不会执行

4. 无论是否出现异常,finally中的代码块都会执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值