Быстрый вопрос ко всем участникам.Как пример, возможно ли, возможно, с помощью декораторов и т. Д. Достичь чего-то подобного?
if input == 'X':
#only use the 'X' versions
elif input == 'Y'
#only use the 'Y' versions
else: # Error out
def printer():
print("X")
def returner():
print("X")
def printer():
print("Y")
def returner():
print("Y")
Я попытался определить конкретные декораторы, которые присоединяются к каждой функции, такие как:
input = 'X'
try:
if input == 'X':
def x(func):
def wrapper(*args, **kwargs):
func(*args, **kwargs)
return wrapper
elif input == 'Y':
def y(func):
def wrapper(*args, **kwargs):
func(*args, **kwargs)
return wrapper
else: # Error out
pass
except NameError as e:
pass
@x
def printer():
print("X")
@x
def returner():
print("X")
@y
def printer():
print("Y")
@y
def returner():
print("Y")
Любая помощь / помощь будет принята с благодарностью.Спасибо!