Python函数

1、命名空间的本质是一个字典:locals()函数返回当前域的命名空间,globals()函数获得全局命名空间
2、闭包是高阶函数的特例,返回值是一个函数。
调用一个方法的原理:方法开始执行时,将代码调入内存,执行完毕后从内存里销毁

def fn():
	a = 10
	def inner():
		print("a=",a)
		print(" I am inner()")
	return inner

因此需要定义一个变量来接收返回的函数,r = fn();调用r();

闭包的条件:
1)、函数嵌套 2)、将内部函数作为返回值 3)、内部函数必须用到外部函数的变量(若不使用外部变量,则内部函数就会被移出内存,使用了局部变量则必须保存下来)

3、装饰器
作用:用来对其他函数进行扩展,使其他函数可以在执行前开始打印,执行后打印结束

def w1(func):
    def inner():
        print("...验证权限...")
        func()
    return inner
@w1
def f1():
    print("服务1")
@w1
def f2():
    print("服务2")

#对其他部门设置权限
#装饰器的使用,装饰一个函数,用来判断权限
f1()
f2()

@w1 修饰了函数 ,相当于 闭包里 f1 = inner ,在这里参数func 具体就是指f1
结果:

...验证权限...
服务1
...验证权限...
服务2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值