LoginSignup
3
4

More than 3 years have passed since last update.

[python] 関数を辞書にいれて管理する(コマンドテーブル、関数テーブル、関数ポインタ)

Last updated at Posted at 2020-02-23

はじめに

★こちらを参考にさせていただきました!★

関数が増えたときは関数を辞書にいれてコマンド化すると管理しやすくなると@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だじぇ
3
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4