Как можно упростить такой код с match?

Есть код в котором необходимо при получении определенного значения в переменной key вывести определенный результат, я решил это с помощью match, но получилось как по мне громоздко, можно ли улучшить код и сделать его более компактным?

from dataclasses import dataclass


@dataclass(frozen=True, slots=True)
class InjectorRange:
    common = {
        "outer_diameter_injector": 0,
        "side_wall_thickness_injector": 1,
        "number_input_tangential_holes": 1,
        "diameter_input_tangential_holes": 1,
        "length_input_tangential_holes": 1,
        "relative_length_twisting_chamber": 1,
        "diameter_injector_nozzle": 1,
        "relative_length_injector_nozzle": 1,
        "angle_nozzle_axis": 1,
        "mass_flow_rate": 1,
        "viscosity": 1,
        "cross_sectional_area_one_passage_channel": 1,
        "density_fuel_component_front_injector": 1,
        "density_combustion_products": 1,
        "surface_tension_coefficient": 1,

        "injector_type": "CENTRIFUGAL"
    }

    centrifugal_injector = Injector(
        **common
    )

    @staticmethod
    def determining_value(key):
        """Возвращает название переменной в которой присутствует недопустимое значение"""
        match key:
            case "outer_diameter_injector":
                return ""
            case "side_wall_thickness_injector":
                return ""
            case "number_input_tangential_holes":
                return ""
            case "diameter_input_tangential_holes":
                return ""
            case "length_input_tangential_holes":
                return ""
            case "relative_length_twisting_chamber":
                return ""
            case "diameter_injector_nozzle":
                return ""
            case "relative_length_injector_nozzle":
                return ""
            case "angle_nozzle_axis":
                return ""
            case "mass_flow_rate":
                return ""
            case "viscosity":
                return ""
            case "cross_sectional_area_one_passage_channel":
                return ""
            case "density_fuel_component_front_injector":
                return ""
            case "density_combustion_products":
                return ""
            case "surface_tension_coefficient":
                return ""

    @property
    def checking_zero_value(self):
        """Возвращает сообщение об ошибке в случае если в словаре common будут найдены параметры со значением 0"""
        for key, value in self.common.items():
            if value == 0:
                raise ValueError(f"Введеное значение {self.determining_value(key)} равняется 0, измените значение"
                                 f"переменной на допустимое")


print(InjectorRange().checking_zero_value)

Ответы (1 шт):

Автор решения: Allito

Вместо конструкции match надо написать:

return InjectorRange.common[key]

если я правильно понимаю, что в словаре common значения являются нужным ответом

→ Ссылка