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()
        ...
        ...
  • 相关阅读:
    hortonworks
    使用Ambari快速部署Hadoop大数据环境
    js模板引擎
    Scala中的语言特性是如何实现的2
    IOS多线程编程一:概述
    Struts框架
    总体设计
    算法介绍
    社区与关怀
    从C#的Singleton设计模式
  • 原文地址:https://www.cnblogs.com/MyselfDancing/p/3562462.html
Copyright © 2011-2022 走看看