本文主要是介绍python classmethod,staticmethod实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
classmethod
class my_classmethod(object):def __get__(self, obj, type=None):def wrapper(*args, **kwargs):return self.function(type, *args, **kwargs)return wrapper#更简单的写法def __get__(self, obj, type=None):return partial(self.function, type) #partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数def __init__(self, function):self.function = functionclass Class2(object):@my_classmethoddef get_user(cls, x):return x, "get_user"print Class2.get_user("###")
#==========
('###', 'get_user')
staticmethod
class my_staticmethod(object):def __get__(self, obj, type=None):def wrapper(*args, **kwargs):return self.function(*args, **kwargs)return wrapperdef __init__(self, function):self.function = functionclass Class2(object):@my_staticmethoddef get_user(x):return x, "get_user"print Class2.get_user("###")
#==========
('###', 'get_user')
这篇关于python classmethod,staticmethod实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!