0

ユーザーがメソッドを選択して、特定の文字列が別の文字列と等しいか終了するかを確認できるドロップダウンボックスがあります。

ドロップダウンボックスモデルとして関数ポインタ/オブジェクトを使用し、現在選択されているものを呼び出すと思いますが、メソッドは

  1. 文字列メソッドと
  2. 等しいは存在しません

また、列名のメソッドを次のように呼び出す必要がある場合、Pythonでこれにどのようにアプローチするのが最善column.name.[selectedMethod](variableStringFromTextBox)ですか?

(これは、GUIで「列名[等しいまたは終了する]でXYZを使用する」+変数文字列を含むテキストボックスを読み取るオプションです。)

ありがとう

4

1 に答える 1

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であり、関数名を保持する文字列がSであるとします。

globals()[S](A, B)

AとBで関数を呼び出します

globals()は、メソッド名からメソッドオブジェクトにマッピングする、定義したすべてのグローバル関数を保持するディクショナリです。

メソッド名からメソッドオブジェクトにマップする独自のディクショナリを維持することもできます。

于 2012-03-26T22:51:05.803 に答える