如何将字符串转换为属性?

时间:2019-06-30 01:28:41

标签: python python-3.x

我正在尝试制作一个非常简单的基于命令的python脚本,并从终端的输入获取命令,但是它没有检测到变量的值...我不善于解释,所以这是我的代码:

a = 0
b = 0

class commands:
    def add():
        a = int(input("first number "))
        b = int(input("second number "))
        print(a + b)

commander = commands
cmd = input("what command ")
commander.cmd()

当我运行它时,它给我一个错误,提示Exception has occurred: AttributeError type object 'commands' has no attribute 'cmd' 我对Python还是比较陌生,如果真的很明显,请抱歉。谢谢,感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

您只需要做:

getattr(commander, cmd)()

答案 1 :(得分:0)

我已用if-else修改了您的代码,以便获得所需的结果:-

a = 0
b = 0

class commands:
    def add(self):
        a = int(input("first number "))
        b = int(input("second number "))
        print(a + b)

commander = commands()
cmd = input("what command ")
print(cmd)
if cmd == 'add':
   commander.add()

希望对您有帮助。