Python输入可调用?

时间:2018-06-15 14:34:55

标签: python python-3.x

是否可以使这项工作:

recognized = input("COMMAND: ")
if recognized == "command":
co = input("Input: ")
co()

这给了我" TypeError:' str'对象不可调用"

4 个答案:

答案 0 :(得分:1)

input()返回的所有内容都是字符串。您可以使用

调用本地定义的函数
locals()['my_function']()

答案 1 :(得分:1)

如果要在字符串中执行语句,可以使用exec(co),但根本不建议这样做。你基本上是让任何代码在系统上运行,这可能是一个巨大的安全问题。

答案 2 :(得分:0)

使用eval功能

co = input()
eval(co)

我想使用的一个小技巧,当我想要评估多个输入或用它们做某事时,

s = input()
while s != 'the end': ## here you should use something that can't occur 
                      ## in python itself in form of function or variable etc.

    ## here come things you want to do with s, e.g. print(eval(s))
    s = input()

答案 3 :(得分:-1)

要定义函数,请使用def

def inputFunc():
    return input("input: ")

co = inputFunk()

这为变量co提供了您输入的任何值。

或者只是想要打印输入而不是调用它来使用它。

co = input("Input: ")
print(co)

这会打印您的输入。