Можно ли как-нибудь задать метод функции с помощью переменной?

Что я имею ввиду:
я хочу выполнить код по типу:

schedule.every().saturday.at('12:00').do(func)

И вместо saturday мне нужно записать user_week_day, чтобы получилось так:

schedule.every().user_week_day.at('12:00').do(func)

Однако выдает ошибку. Как можно это решить?


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

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

можно что-то из такого собрать:

class A:
    monday = 1
    saturday = 6
    sunday = 7

    def user_week_day(self, day):
        return getattr(self, day)

obj = A()

day = 'monday'
print(obj.user_week_day(day))

day = 'saturday'
print(obj.user_week_day(day))

т.е. у вас будет:

schedule.every().user_week_day(user_week_day).at('12:00').do(func)
→ Ссылка