有时候我不知道用户会操作什么。
class User(object):
...
def get_name(self):
return self.name
def get_age(self):
return self.age
operation = "http://localhost:8080/user/get_name".split('/')[-1]
user = User(...)
如您所见,operation
是一个变量名,与class属性相同。
我试试:
eval('user.{}'.format(operation))
它可以运行。但它看起来非常合适
现在我想通过像user.operation
我是如何实现的?
答案 0 :(得分:3)
您可以使用getattr()
。像这样申请:
getattr(user, operation)()
现在,User
实例,user
将从字符串中调用operation
。
getattr
将获取对象的属性user
。然后它会user.operation
,然后执行()
。