У меня есть несколько допустимых значений в качестве входных данных для метода класса, и я думаю, что хороший способ контролировать это - использовать тип enum. Уловка в том, что я не хочу создавать дополнительные зависимости.
Есть ли хороший способ Pythoni c сделать это?
Например, будет работать следующее.
import enum
class A(enum.Enum):
one=1
two=2
three=3
class Myclass:
def method(self, a: A):
print('Inside method')
print(a)
# Two approaches I've looked at
method.input = A # Approach 1: Associates directly with the method
method_input = A # Approach 2: Provides access to enum through the class
m = Myclass()
# Approach 1: Doesn't give code completion. Associates with the method
m.method(m.method.input.one)
# Approach 2: Gives code completion. Depends on a naming convention
m.method(m.method_input.one)
Я также подумал о том, чтобы включить его в параметры, но я не думаю, что это уместно, поскольку меня интересует только одно значение - хотя это можно сделать. Более многообещающей альтернативой является использование словарной карты, но это не даст моим пользователям завершения кода.