python中某些函数的上面是什么 @error_wrap ? 如下面的代码:
@error_wrap
def disconnect(self):
"""
disconnect a client.
"""
logger.info("disconnecting snap7 client")
return self.library.Cli_Disconnect(self.pointer)
error_wrap方法:
def error_wrap(func):
"""Parses a s7 error code returned the decorated function."""
def f(*args, **kw):
code = func(*args, **kw)
check_error(code, context="client")
return f
我知道几个OOP修饰的python函数,(@staticmethod,@ classmethod,@ abstractmethod等),但我找不到@error_wrap。
相同的提及这些代码?
答案 0 :(得分:1)
Python装饰器也是函数,但是作为第一个参数接收其他函数的函数。下面的代码与你的相同
def error_wrap(f):
# do something with received function f, then return it
def disconnect(self):
# implementation of your function
disconnect= error_wrap(disconnect) # <- notice the function `disconnect` isn't called
现在你想知道error_wrap
函数做了什么。好吧,我们无法回答这个问题,因为它只是另一个功能,所以你应该找到它并粘贴她的代码,然后我们就会回复你。