from typing import Callable
import inspect


def _get_func_str(f: Callable) -> str:
    """Returns the name of a function including the argument names.

    :param f: The function of which the name should be returned
    :return: The name of the function f
    """
    f_name = str(f).split(' ')[1]
    f_args = str(inspect.getfullargspec(f).args) \
        .replace('[', '(') \
        .replace(']', ')') \
        .replace('\'', '')
    return f_name + f_args