5个回答
展开全部
【@】符号在python中是装饰器的意思。
装饰器对一个可调用对象(函数、方法、类等等)进行装饰,它返回的也是一个可调用对象。
一般情况下,装饰器是对被装饰对象的修饰与增强。用现实事物类比的话,可以类比为中间商:中间商不生产产品,它将工厂生产的产品进行包装、运输后再销售给顾客。装饰器不实现核心功能,它提供对目标函数调用的封装与强。
它装饰的方法返回值是一个对象(BillList、Bill、List[BillDetail]等),而装饰器【enabled_cache】的作用如它的名称一样:使用缓存。可以看到,这个装饰器函数中定义了一个函数【wrapper】然后将这个wrapper作为返回值。这样,原本调用ProductionBos.bill_with_last_week的代码就不需要做任何改变就能享受到ProductionBos.bill_with_last_week原有的功能(得到一个BillList对象)和enabled_cache提供的附加功能(如果该对象有缓存,就不再从数据库查询)。
装饰器对一个可调用对象(函数、方法、类等等)进行装饰,它返回的也是一个可调用对象。
一般情况下,装饰器是对被装饰对象的修饰与增强。用现实事物类比的话,可以类比为中间商:中间商不生产产品,它将工厂生产的产品进行包装、运输后再销售给顾客。装饰器不实现核心功能,它提供对目标函数调用的封装与强。
它装饰的方法返回值是一个对象(BillList、Bill、List[BillDetail]等),而装饰器【enabled_cache】的作用如它的名称一样:使用缓存。可以看到,这个装饰器函数中定义了一个函数【wrapper】然后将这个wrapper作为返回值。这样,原本调用ProductionBos.bill_with_last_week的代码就不需要做任何改变就能享受到ProductionBos.bill_with_last_week原有的功能(得到一个BillList对象)和enabled_cache提供的附加功能(如果该对象有缓存,就不再从数据库查询)。
展开全部
用不同的方式来说其他人:是的,它是一个装饰器。
在Python中,就像:
创建一个函数(在@调用之后)
调用另一个函数以对您创建的函数进行操作。 这将返回一个新函数。 您调用的函数是@的参数。
用返回的新函数替换定义的函数。
这可以用于各种有用的东西,因为功能是对象,而只是指令而已,因此成为可能。
2021-10-31 · 百度认证:河南新华电脑学院有限公司官方账号
关注
展开全部
创建一个函数(在@调用之后)
调用另一个函数以对您创建的函数进行操作。 这将返回一个新函数。 您调用的函数是@的参数。
展开全部
装饰函数用的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询