python3关键字

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语句是提供一个有效的机制,让代码更简练,同时在异常产生时,清理工作更简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值