方法

一、@函数修饰器

	def auth(fn):
    	def auth_fn(*args):
    		print('===模拟权限检查===')
    		fn(*args)#回调被修饰目标函数
    	return auth_fn

    @auth
    def test(a, b):
    	print('执行test函数')

    test(20, 15)

执行流程是:①先执行权限检查;②回调被修饰的目标函数-一简单
来说, auth_fn 函数就为被修饰函数添加了一个权限检查的功能。

二、类命名空间

    global_fn = lambda p: print('p参数:', p)
    class Item:
    	#自动绑定类的第一个参数self
    	cate_fn = lambda p: print('类中p参数:', p)
    	
    global_fn(10)
    
    item = Item()
    item.cate_fn()

在全局空间内定义的lambda 表达式就相当于一个普通函数,因此程序使用调用函数的方式来调用该lambda 表达式,并显式地为第一个参数绑定参数值;对于在类命名空间内定义的l ambda 表达式,则相当于在该类命名空间中定义了一个函数,这个函数就变成了实例方法,因此程序必须使用调用方法的方式来调用该lambda 表达式, Python 同
样会为该方法的第二个参数(相当于se l f 参数)绑定参数值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值