所以这是我的场景:我有一个 python 脚本,称之为myscript.py. 在此脚本中,可以生成不同类型的数据等。当我从命令行运行此脚本时,我希望能够输入“绘图模式”,例如 1、2、3 等。到目前为止,我知道如何要做到这一点。然而,我想用这些绘图模式做的是我被卡住的地方。本质上,我想说的是,如果绘图模式为 1,则执行特定的绘图程序,例如 5 个子图,以某种方式显示特定数据。如果绘图模式为 2,则执行一个完全不同的绘图例程,使用 3 种数据类型,以非常特殊的方式显示它们,等等。我不清楚具体如何去做。我想最简单的方法是简单地将绘图模式映射到调用特定函数的 if/else 语句,但我想知道是否有更优雅的方法?
1 回答

慕斯王
TA贡献1864条经验 获得超2个赞
您可以使用字典将模式映射到功能:
mode = ... # this is the mode you obtain from the call
lookup = {"1" : function1, "2" : function2, ...}
# call function from lookup depending on mode
lookup[mode]()
您还可以通过包含模式名称的字符串获取要调用的函数
locals()["function{}".format(mode)]()
当然,如果这只是工作function1,function2等一切以相同(或没有)参数。如果你想用不同的参数调用不同的函数, usingif/else也可能是一个好方法。
添加回答
举报
0/150
提交
取消