目录
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中的代码块都会执行