Как выбрать различные функции построения во время выполнения в Python? - PullRequest
0 голосов
/ 20 сентября 2018

Итак, вот мой сценарий:

У меня есть скрипт на python, назовите его myscript.py.Внутри этого скрипта могут быть сгенерированы разные типы данных и т. Д. Когда я запускаю этот скрипт из командной строки, я хочу иметь возможность вводить «режим печати», например, 1, 2, 3 и т. Д. До сих пор я знал, каксделать это.

То, что я хочу сделать с этими режимами печати, - вот где я застрял.

По сути, я хочу сказать, что если режим черчения равен 1, то выполните конкретную подпрограмму черчения, скажем, с 5 субплотами, показывающими определенные данные определенным образом.

Если режим черчения равен 2, скажем, тогда выполните совершенно другую подпрограмму черчения, с 3 типами данных, показывая их совершенно определенным образом и т. Д. И т. Д.

Я не совсем уверенкак именно это сделать.Я полагаю, что самый простой способ - просто отобразить режим печати на оператор if / else, который вызывает определенные функции, но мне было интересно, есть ли более элегантный способ?

Спасибо

1 Ответ

0 голосов
/ 21 сентября 2018

Вы можете использовать словарь для отображения режима работы:

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)]()

OfКонечно, это работает, только если function1, function2 и т. д. принимают одинаковые (или нет) аргументы.Если вы хотите вызывать разные функции с разными аргументами, использование if/else, вероятно, тоже хороший способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...