def __init__(self, metric_type, **kwargs):
self.__type = metric_type<EOL>self.__args = kwargs<EOL>self.__func = self.__args.get('<STR_LIT>', None)<EOL>self.__numpy = self.__args.get('<STR_LIT>', False)<EOL>self.__calculator = self.__create_distance_calculator()<EOL>
!
        @brief Creates distance metric instance for calculation distance between two points.

        @param[in] metric_type (type_metric):
        @param[in] **kwargs: Arbitrary keyword arguments (available arguments: 'numpy_usage' 'func' and corresponding additional argument for
                    for specific metric types).

        <b>Keyword Args:</b><br>
            - func (callable): Callable object with two arguments (point #1 and point #2) or (object #1 and object #2) in case of numpy usage.
                                This argument is used only if metric is 'type_metric.USER_DEFINED'.
            - degree (numeric): Only for 'type_metric.MINKOWSKI' - degree of Minkowski equation.
            - numpy_usage (bool): If True then numpy is used for calculation (by default is False).