如何指向给定变量python的方法 possibleRequests=['test','test1'] def inboxReader(): 全球收件箱 tempInbox=[] tempInbox=inbox.inboxMessage#inboxMessage是否已满? 打印(inbox.inboxMessage,“inboxReader”) i=0 而(i

如何指向给定变量python的方法 possibleRequests=['test','test1'] def inboxReader(): 全球收件箱 tempInbox=[] tempInbox=inbox.inboxMessage#inboxMessage是否已满? 打印(inbox.inboxMessage,“inboxReader”) i=0 而(i,python,methods,Python,Methods,我希望能够让可能的请求指向要运行的方法,而不是有一长串if语句。我能做些什么才能让变量指向并运行一个方法 干杯 Marc您可以先创建函数字典,然后使用tempInbox[i]引用它。示例代码如下: possibleRequests = ['test', 'test1'] def inboxReader(): global inbox tempInbox = [] tempInbox = inbox.inboxMessage #inboxMesag

我希望能够让可能的请求指向要运行的方法,而不是有一长串if语句。我能做些什么才能让变量指向并运行一个方法

干杯


Marc

您可以先创建函数字典,然后使用tempInbox[i]引用它。示例代码如下:

possibleRequests = ['test', 'test1']

def inboxReader():
        global inbox
        tempInbox = []
        tempInbox = inbox.inboxMessage #inboxMesage remains filled?
        print(inbox.inboxMessage, 'inboxReader')
        i = 0
        while (i < len(tempInbox)):
            if (tempInbox[i] in possibleRequests):
                print('THIS IS WORKING')
            #print(i)
            i+=1

我想了解更多信息,什么是inbox.inboxMessage?名单?您希望“让可能的请求指向要运行的方法,而不是一长串if语句”?您可以将函数(和方法)存储在变量中(例如
f=inboxReader;f()
)。inbox是一个我称之为数组的类。我该怎么做他们说的?这正是我要找的东西有些正是我需要的
def func_a(x):
    return x

def func_b(x):
    return x*10

tempInbox = (2,3)

fn_dict = {"a":func_a,"b":func_b}
print fn_dict["a"](tempInbox[0]) # returns 2
print fn_dict["b"](tempInbox[1]) # returns 30