import functools
import warnings


def warns(message, category=None):
    """警告装饰器

    :param message: 警告信息
    :param category: 警告类型：默认是None
    :return: 装饰函数的对象
    """

    def _(func):
        @functools.wraps(func)
        def warp(*args, **kwargs):
            warnings.warn(message, category, stacklevel=2)
            return func(*args, **kwargs)

        return warp

    return _