import inspect


def get_default_args(func):
    """
    Return dict for parameter name and default value.

    Parameters
    ----------
    func : Callable
        A function to get parameter name and default value.

    Returns
    -------
    Dict
        Parameter name and default value.

    Examples
    --------
    >>> def test_func(a: int, b: str = "c") -> int:
    ...     return a+1
    >>> get_default_args(test_func)
    {'b': 'c'}

    >>> def test_func2(a: int = 1, b="c") -> int:
    ...     return a+1
    >>> get_default_args(test_func2)
    {'a': 1, 'b': 'c'}
    """
    signature = inspect.signature(func)
    return {
        k: v.default
        for k, v in signature.parameters.items()
        if v.default is not inspect.Parameter.empty
    }