9.一句话解释什么样的语言能够用装饰器

您所在的位置:网站首页 一句话解释什么叫朋克 9.一句话解释什么样的语言能够用装饰器

9.一句话解释什么样的语言能够用装饰器

2024-07-03 13:51| 来源: 网络整理| 查看: 265

每天至少打卡一道python面试题。以尽量多的方式解锁题目,如果有遗漏的方法,欢迎在评论区补充。希望大家一起提高!

能够实现闭包的语言,理论上都可以用装饰器。

装饰器的目的是在编程时,相同的代码不要重复写,最好只写异常,然后在其他地方可以直接引用。这样就提高了代码重用率,缩减代码量,同时也有助于提高代码的可读性和可维护下,当需要更改的时候,只需要更改一个地方就可以了。

那么什么叫闭包呢

闭包:如果在一个外函数中定义了一个内函数,内函数中引用了外函数的临时变量,并且外函数的返回值是对内函数的引用。这样就构成了闭包

下面这段示例代码有助于我们理解上面这句话:

# 这里outer是外函数,inner是内函数 def outer(outer_in: int): # temp_outer是外函数的临时变量 temp_outer = 10 # 定义内函数inner def inner(): # 内韩式引用了外函数的临时变量outer_in,temp_outer print('inner func print: %s' % (outer_in + temp_outer)) # 外函数的返回值是对内函数的引用,注意没有(),表示只是引用,没有实例化 return inner if __name__ == '__main__': demo = outer(20) demo() # 运行逻辑: # 1.调用外部函数,传入参数20 # 2.此时外部函数有两个临时变量:outer_in=20,temp_outer=10,并且创建了内部函数inner,把inner的引用返回给了demo # 外部函数在结束的时候,发现返回的内部函数inner会用到自己的临时变量,所以这两个临时变量就不会释放,会绑定给内部函数 # 3.调用demo(),因为demo是存的对inner的引用,所以这里就相当于执行inner(),所以会打印:inner func print: 30


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3