Hi, all
There are some methods to define functions in a class, include member functions, static method, class method. My question is that which type of function for "decorate(f),diff_con(f)" I think these functions all were belong to member function, (f <-->self) f can be replace by self. but how to explain "decorate(f)", "@decorate(f)" if f == self; then in wrapper function: res = self(*args, **kwargs) and self means Diff_methods("somgthing") <==> Diff_methods("somgthing")(*args, **kwargs) But it's not correct. thanks lass Diff_methods: def __init__(self, something): self.something = something def decorate(f): @wraps(f) def wrapper(*args, **kwargs): start_time = time.time() res = f(*args, **kwargs) elapse = time.time() - start_time return res, elapse return wrapper def diff_con(f): print(f.something) @decorate def member_function(self, n): return 2 << n @staticmethod def static_function(): pass @classmethod def class_method(cls): pass if __name__ == "__main__": sssss = Diff_methods("something") print(sssss.member_function(10)) sssss.diff_con() -- https://mail.python.org/mailman/listinfo/python-list