zoukankan      html  css  js  c++  java
  • python之with语句

    今天突然想起with语句,想了想,嗯......虽然知道它的用法,但是不知道它的用途何在,于是就google一下,看到了这样一篇文章

    http://effbot.org/zone/python-with-statement.htm

    在我们实际编程中,我们常常会遇到这样的情况,就是在处理完成一件事情后,需要做一下收尾工作,这样的做法在with语句产生之前一直都是由下面的代码代劳的

    1 try:
    2     do something
    3 finally:
    4     do something left

    e.g.

    try:
        fp = open('filename', 'w')
    finally:
        fp.close()

    但是考虑到代码的简洁性,在Python 2.5后的版本中,开始引入了with语句,它是通过在相应的类里面加入下面的两个函数实现的

    class a_class:
        
        def __enter__(self):
            do something
        return something
    def __exit__(self): do somethiing left

    在with语句执行时,都要执行__enter__函数,并把返回的对象赋值给as后面的变量,在语句块结束时都要执行__exit__函数,这样通过把相应的代码放入到这两个函数中就可以解决最后需要处理的问题

    with open('filename', 'w') as file:
        page = file.read()
        ...
        ...
  • 相关阅读:
    选择排序
    快速排序
    希尔排序
    直接插入排序
    判断三角形的类型
    Unicode编码下: CString 转换为 string
    GDAL中GDALDataType中值与其在C++中数据类型对应
    ftell()
    fseek()
    fopen_s()
  • 原文地址:https://www.cnblogs.com/MyselfDancing/p/3562462.html
Copyright © 2011-2022 走看看