Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用变量作为函数名在python中调用_Python_String_Function_Client Server_Call - Fatal编程技术网

如何使用变量作为函数名在python中调用

如何使用变量作为函数名在python中调用,python,string,function,client-server,call,Python,String,Function,Client Server,Call,我正在用python运行一个小型客户机-服务器测试,客户机向服务器发送一个字。这个词是python中需要调用的函数的名称。因此,当发送单词“blink”时,它应该调用函数“blink”。(请注意,它们可能是多个关键字和函数,因此需要某种形式的变量函数调用) 打印单词匹配以清楚地接收单词。现在如何使用变量数据调用函数blink 我现在明白了 TypeError:“str”对象不可调用 我能理解这个错误。。很明显我需要用那根绳子做点什么。。有什么想法吗 您可以使用dict将数据映射到要调用的函数 函

我正在用python运行一个小型客户机-服务器测试,客户机向服务器发送一个字。这个词是python中需要调用的函数的名称。因此,当发送单词“blink”时,它应该调用函数“blink”。(请注意,它们可能是多个关键字和函数,因此需要某种形式的变量函数调用)

打印单词匹配以清楚地接收单词。现在如何使用变量数据调用函数blink

我现在明白了

TypeError:“str”对象不可调用


我能理解这个错误。。很明显我需要用那根绳子做点什么。。有什么想法吗

您可以使用
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
就像在等一个包裹,而不是在包裹上留下便条,而是把钥匙、银行账户凭证和出生证明钉在门上。好的,太好了,谢谢你提供的信息!