helpers.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:newton-sketch 作者: huisaddison 项目源码 文件源码
def auto_assign(func):
    signature = inspect.signature(func)

    def wrapper(*args, **kwargs):
        instance = args[0]
        bind = signature.bind(*args, **kwargs)
        for param in signature.parameters.values():
            if param.name != 'self':
                if param.name in bind.arguments:
                    setattr(instance, param.name, bind.arguments[param.name])
                if param.name not in bind.arguments and param.default is not param.empty:
                    setattr(instance, param.name, param.default)
        return func(*args, **kwargs)

    wrapper.__signature__ = signature # Restore the signature

    return wrapper
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号