前言
as关键字,常用的3种方式,建议掌握
一、别称功能
import hello as h
适用场景:某个对象的名称太长、不好记忆,可以使用as的别称功能,hello模块的别称已经改为了h
二、with as
with object as temp:
pass
适用场景:某些对象有固定规律,可以使用with as语句
with的工作过程
1、with语句后面得到的对象,一定有个__enter__方法会被自动调用
2、__enter__方法返回的对象会赋值给as后面定义的变量temp
3、with as代码体中的语句开始全部执行
4、代码体中的代码全部执行结束后,with语句后面的对象的另一个特殊方法__exit__又会被自动调用
举个实际例子:
with open("xxx.txt") as my_file:
print("测试")
1、内置函数open()会先返回一个File对象
2、File对象的__enter__方法会被自动调用,由于File对象的__enter__方法的返回值是self,即File对象本身
3、__enter__()方法返回的对象,会被赋值给as后面定义的变量my_file中
4、接着with as代码体中所有代码执行,例子中仅有的print()语句会执行
5、代码体执行结束后,File对象的__exit__方法又会被自动调用,with流程结束
备注:拥有__enter__、__exit__方法的对象,称为上下文管理器对象
三、except as
适用场景:捕获指定的异常对象
try:
pass
except Exception as e:
pass
捕获到的Exception对象会赋值给变量e,您理解了吗?