有没有办法 运行 使用变量名的函数?

Is there a way to run a function using variable name?

我创建了一个 python 代码,可以使用日程模块在特定时间自动加入缩放 类。这是下面的示例代码:

schedule.every().monday.do(join_zoom)

有什么方法可以运行这样的代码

date = "monday"
schedule.every().[date].do(join_zoom)

谢谢

当然,一个简单的 if-else 语句就可以了:

date = "monday"

if date == "monday":
    schedule.every().monday.do(join_zoom)
elif date == "tuesday":
    schedule.every().tuesday.do(join_zoom)

等等

好的,getattr 是您要查找的内容:

date = "monday"
getattr(schedule.every(), date).do(join_zoom)

如果你愿意,你可以用这个自建的片段来试试:

class Schedule:

    @staticmethod
    def every():
        return Day

class FooBar:

    @staticmethod
    def do(stringg):
        print('success')

class Day:
    monday = FooBar
    tuesday = FooBar


schedule = Schedule
getattr(schedule.every(), 'monday').do('ciao')