python3关键字

    xiaoxiao2021-04-15  317

    del:解除对变量的引用

    a = 0 b = a del(a) print(a)->'a' is not defined print(b)->0

    global:在本地作用域修改全局变量

    python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 。

    a = 0 def func(): a = 1 print(a) func() print(a) result: 0 1 a = 0 def func(): a += 1 print(a) func() print(a) result: UnboundLocalError: local variable 'a' referenced before assignment a = 0 def func(): global a print(a) a = 1 func() print(a) result: 0 1

    lamda:匿名函数(lambda argument_list: expression)

    raise:自行抛出异常 

    用法1:执行到raise时,直接抛出异常到except,code2不会被执行 try : code1 raise code2 except Exception as e: print ("Error!")) 用法2: try : code1 if(condition) raise Exception("Error!") code2 except Exception as e: print (e) 注意:如果raise的异常不被catch,则该异常会一直向上传递,直到被捕获,否则终止运行

    yield:生成器

    nolocal:在本地作用域中使用外部(非全局)变量。

    with...as...:

    with所求值的对象必须有一个__enter__(self)方法,一个__exit__(self, type, value, trace)方法。紧跟with后面的语句被求值后,返回对象的__enter__()方法被调用,这个方法的返回值将被赋值给as后面的变量。当with后面的代码块全部被执行完之后,将调用前面返回对象的__exit__()方法。

    处理异常:with后面的代码块抛出异常时,与之关联的type,value和stack trace传给__exit__()方法。开发库时,清理资源,关闭文件等等操作,都可以放在__exit__方法当中。 因此,Python的with语句是提供一个有效的机制,让代码更简练,同时在异常产生时,清理工作更简单。


    最新回复(0)