zoukankan      html  css  js  c++  java
  • python--else语句

    for

    仅当for循环运行完毕时,才运行else块。

    while

    仅当while循环因为条件为假值而退出时,才运行else块

    try

    仅当try块没有异常抛出时才允许else块

    with语句:简化try,finally模式,这种模式用于保证一段代码运行完毕后执行某项操作,即使那段代码由于异常,return语句或sys.exit()调用中止

    也会执行指定的操作。finally子句的代码通常用于释放重要的资源,或者还原临时变更的状态。

    with语句开始运行时,会在上下文管理器对象调用__enter__方法。

    with语句运行结束后,会在上下文管理器对象调用__exit__方法

    from mirror import LookingGlass
    with LookingGlass() as what:
    #上下文管理器LookingGlass();Python在上下文管理器上调用__enter__方法,把返回结果绑定在what上
            print('Alice,Kitty and Snowdrop')
            print(what)
    class LookingGlass:
        def __enter__(self):
            import sys
            self.original_write=sys.stdout.write#存入实例属性,供后面使用
            sys.stdout.write=self.reverse_write#给sys.stdout.wirte打猴子补丁
            return 'JABBERWOCKY'
        def reverse_write(self,text):
             self.original_write(text[::-1])#反转内容
        
          
        def __exit__(self,exc_type,exc_value,traceback):
            import sys
            sys.stdout.wirte=self.original_write
            if exc_type is ZeroDivisionError:
                print('Please DO NOT divide by zero!')
                return True
  • 相关阅读:
    作业呢
    留言板
    题解 lg2480 古代猪文
    题解 lg4139 上帝与集合的正确用法
    AFO
    题解 lg2946 [USACO09MAR]Cow Frisbee Team S
    题解 lg4158 [SCOI2009]粉刷匠
    题解 HDU4035 Maze
    题解 lg3232 [HNOI2013]游走
    题解 HDU4652 Dice
  • 原文地址:https://www.cnblogs.com/liuguangshou123/p/13559669.html
Copyright © 2011-2022 走看看