如何使用变量作为函数名在python中调用
我正在用python运行一个小型客户机-服务器测试,客户机向服务器发送一个字。这个词是python中需要调用的函数的名称。因此,当发送单词“blink”时,它应该调用函数“blink”。(请注意,它们可能是多个关键字和函数,因此需要某种形式的变量函数调用) 打印单词匹配以清楚地接收单词。现在如何使用变量数据调用函数blink 我现在明白了 TypeError:“str”对象不可调用如何使用变量作为函数名在python中调用,python,string,function,client-server,call,Python,String,Function,Client Server,Call,我正在用python运行一个小型客户机-服务器测试,客户机向服务器发送一个字。这个词是python中需要调用的函数的名称。因此,当发送单词“blink”时,它应该调用函数“blink”。(请注意,它们可能是多个关键字和函数,因此需要某种形式的变量函数调用) 打印单词匹配以清楚地接收单词。现在如何使用变量数据调用函数blink 我现在明白了 TypeError:“str”对象不可调用 我能理解这个错误。。很明显我需要用那根绳子做点什么。。有什么想法吗 您可以使用dict将数据映射到要调用的函数 函
我能理解这个错误。。很明显我需要用那根绳子做点什么。。有什么想法吗 您可以使用
dict
将数据映射到要调用的函数
函数是Python中的一级公民,可以按如下方式使用:
def blink():
print('Blink')
func = {'blink':blink}
# 'blink' is data you receive;
# blink is the function you want to call
data = 'blink'
func[data]()
您可以使用
dict
将数据映射到要调用的函数
函数是Python中的一级公民,可以按如下方式使用:
def blink():
print('Blink')
func = {'blink':blink}
# 'blink' is data you receive;
# blink is the function you want to call
data = 'blink'
func[data]()
data()
,您正在尝试调用字符串对象。也许您的意思是调用(数据)
?您可以使用eval或exec来执行此操作。请参见@Dan No。No No。请不要使用eval
或exec
data()
,您正在尝试调用字符串对象。也许您的意思是调用(数据)
?您可以使用eval或exec来执行此操作。请参见@Dan No.No.No.请不要使用eval
或exec
。纯代码答案有点不推荐;请写下你来这里的原因和目的我为我工作。。但是@Morgan Thrapp为什么不用这个?@AlexvanEs你在错误的地方评论。但是:出于安全和性能原因,切勿对外部数据使用eval()
。您不希望每个python代码都是有效的命令,而只希望特定的函数。在这里使用eval
就像在等一个包裹,而不是在包裹上留下便条,而是把钥匙、银行账户凭证和出生证明钉在门上。好的,太好了,谢谢你提供的信息!只使用代码的答案有点不推荐;请写下你来这里的原因和目的我为我工作。。但是@Morgan Thrapp为什么不用这个?@AlexvanEs你在错误的地方评论。但是:出于安全和性能原因,切勿对外部数据使用eval()
。您不希望每个python代码都是有效的命令,而只希望特定的函数。在这里使用eval
就像在等一个包裹,而不是在包裹上留下便条,而是把钥匙、银行账户凭证和出生证明钉在门上。好的,太好了,谢谢你提供的信息!