gpt4 book ai didi

python - 我如何通过名称与方法相同的变量访问类方法?

转载 作者:行者123 更新时间:2023-11-30 22:50:36 24 4
gpt4 key购买 nike

有时我不知道用户会操作什么。

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是一个变量名,与类属性相同。

我尝试:

eval('user.{}'.format(operation))

它可以运行。不过看起来很合适

现在我想通过像 user.operation 这样的方式来处理它

我是如何实现的?

最佳答案

您可以使用getattr()。像这样申请:

getattr(user, operation)()

现在,User 实例 user 将从字符串调用 operation

getattr 将获取对象的属性,在本例中为 user。然后它会执行user.operation,然后用()执行。

试试 IDEOne

关于python - 我如何通过名称与方法相同的变量访问类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39262261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com