零散新学的

AffettoIris 2023-3-10 2,754 3/10

Python之as关键字的三种用法

  1. import hello as h # 某个对象的名称太长、不好记忆,此时可以使用as起别名
  2. with as

    任何一门编程语言都有文件的输入输出、数据库的连接断开等资源管理操作,程序员必须保证这些资源在使用过后得到释放,不然就容易造成资源泄露,轻者使得系统处理缓慢,严重时会使系统崩溃。但是,即便使用 close() 做好了关闭文件的操作,如果在打开文件或文件操作过程中抛出了异常,还是无法及时关闭文件。为了更好地避免此类问题,不同的编程语言都引入了不同的机制。在Python 中,对应的解决方式是使用 with as 语句操作上下文管理器(context manager),它能够帮助我们自动分配并且释放资源,无论期间是否抛出异常,都能保证 with as 语句执行完毕后自动关闭已经打开的文件。

    with object as temp:你可以理解为temp = object例如with open('a.txt', 'a') as f:
         pass

    工作过程:

    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流程结束
  3. try:
        pass
    except Exception as e: # 捕获到的Exception对象会赋值给变量e
        pass
- THE END -

AffettoIris

10月16日16:01

最后修改:2023年10月16日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论