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 回答