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()
        ...
        ...
  • 相关阅读:
    SpringMVC组件解析
    SpringMVC简介
    spring集成web环境
    Spring基于注解的事务控制
    Spring基于XML声明式事务控制
    Spring事务控制&编程式事务控制三大对象
    基于注解的AOP开发
    基于xml的AOP开发
    python字符串操作
    赋值、深拷贝、浅拷贝
  • 原文地址:https://www.cnblogs.com/MyselfDancing/p/3562462.html
Copyright © 2011-2022 走看看