「RED」、「BLUE」、「GREEN」などの値を持つ選択ボックスがあり、これらの文字列を同じものと呼ばれる定数への参照として使用したいとしますが、タプルを含みます。
RED = ('x234114','z8765667')
私が探しているコードは、私の心の目では次のようになります:)
globals_lookup('RED')
これは明らかなことかもしれませんが、私には思い浮かびません。
eval の使用:
RED = ('x234114','z8765667')
def globals_lookup(ident):
return eval(ident)
t=globals_lookup('RED')
しかし、より良い方法は、ハッシュ テーブルを使用することです。
colors={'RED':('x234114','z8765667')}
t=colors['RED']
タプルで変数を定義したら、ローカルを使用してアクセスできます。
>>> RED = ('x234114','z8765667')
>>> locals()["RED"]
('x234114', 'z8765667')
しかし、それを行う正しい方法は、辞書を使用することです
>>> select_data = {"RED" :('x234114','z8765667'),"BLUE":('x934587','z943657')}
>>> select_data["RED"]
('x234114','z8765667')
RED = ('x234114','z8765667')
color_table = {'RED': RED, 'GREEN': GREEN, 'BLUE': BLUE}
def globals_lookup(color):
return color_table[color]
Python 辞書を使用します。
lookup = {
'RED' : ('x234114','z8765667')
}
利用方法:
color = "RED"
tup = lookup[color]
assert tup == ('x234114','z8765667')