2012-03-26 12 views
0

ユーザーは、特定の文字列が他の文字列と等しいかどうかをチェックする方法を選択できるドロップダウンボックスがあります。文字列のメソッド呼び出しを表すドロップダウンボックス

私は、現在選択された1つをドロップダウンボックスモデルとして関数ポインタ/オブジェクトを使用して呼び出すように思うだろうが、方法があるので、/

  1. 文字列メソッドと
  2. 存在しないに等しくなります

私はcolumn.name.[selectedMethod](variableStringFromTextBox)のような列名のメソッドを呼び出さなければならないとしたら、これをPythonでどのようにするのが最適でしょうか?

(これは、GUI上で文字列変数を持つ+テキストボックス「列名が[endswith等しいか]利用XYZ」を読み出すことを続けています。)

おかげ

答えて

1

私が正しくあなたを理解していれば、ドロップダウンリスト文字列を含んでいます。簡単な方法は、適切なメソッドを定義することです。次に、globals()を使用してください。例えば:

# check if string A ends with string B 
def endswith(A, B): 
    return A.endswith(B) 

# check if string A equals to string B 
def stringsequal(A, B): 
    return A == B 

は、文字列がAとBと関数名を保持している文字列であると仮定すると、次に

globals()[S](A, B) 

globals()がAに関数及びBを呼び出すSです。定義したすべてのグローバル関数を保持する辞書、メソッド名からメソッドオブジェクトへのマッピング

また、メソッド名からメソッドオブジェクトにマップする独自の辞書を保持することもできます。

関連する問題