はじめに
関数が増えたときは関数を辞書にいれてコマンド化すると管理しやすくなると@shiracamusさんに教えていただいたのでメモ。
やりかた
関数テーブルのように関数ポインタに名前をつけてあげます。
こちらの記事と比較すると便利さがわかると思います(自虐)
関数をリストに入れて管理する
├── modules
│ └──logic.py
│
└─ main.py
modules/logic.py
def func1(word):
print('こちらfunc1' + word)
def func2(word):
print('こちらfunc2' + word)
def func3(word):
print('こちらfunc3' + word)
def func4(word):
print('こちらfunc4' + word)
def func5(word):
print('こちらfunc5' + word)
def help_command():
print("""\
func1 ---- func1を呼び出す
func2 ---- func2を呼び出す
func3 ---- func3を呼び出す
func4 ---- func4を呼び出す
func5 ---- func5を呼び出す
""")
COMMANDS = {
"func1": func1,
"func2": func2,
"func3": func3,
"func4": func4,
"func5": func5,
}
main.py
import modules.logic as logic
logic.help_command()
logic.COMMANDS['func1']('です')
logic.COMMANDS['func2']('やで')
logic.COMMANDS['func3']('だよ')
logic.COMMANDS['func4']('にょろ')
logic.COMMANDS['func5']('だじぇ')
実行結果
$ python main.py
func1 ---- func1を呼び出す
func2 ---- func2を呼び出す
func3 ---- func3を呼び出す
func4 ---- func4を呼び出す
func5 ---- func5を呼び出す
こちらfunc1です
こちらfunc2やで
こちらfunc3だよ
こちらfunc4にょろ
こちらfunc5だじぇ