首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用用户输入的内容调用对象的属性?

如何使用用户输入的内容调用对象的属性?
EN

Stack Overflow用户
提问于 2020-04-24 05:16:27
回答 1查看 18关注 0票数 0

“”“

代码语言:javascript
运行
复制
class python_object:
    def __init__(self, id, username, password):
        self.id = id
        self.username = username
        self.password = password

#object_dict is made by importing JSON objects and looks like this 

object_dict = {1: <__main__.python_object object at 0x00000283EBD7CEC8>, 
2: <__main__.python_object object at 0x00000283EBD7CF08>, 
3: <__main__.python_object object at 0x00000283EBD7CF48>, 
4: <__main__.python_object object at 0x00000283EBD7CF88>}

#///some other code///

id = "10021"
attribute_to_find = input("Enter an Attribute: ")

for i in range(1, len(object_dict)+1):
    if (object_dict.get(i)).id == id_to_find:
        print(object_dict.get(i).attribute_to_find)

“”“

这是不起作用的,因为Python正在寻找一个名为“python_object_to_find”的属性,这是我想过的。

我希望用户能够输入一个属性,并让程序在id为"10021“的类实例中打印出该属性值('id‘是’python_object‘的另一个属性)

有人知道我会怎么做吗?

谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-24 05:22:03

使用getattr(),将对象作为第一个参数传递,将属性的字符串名称作为第二个参数传递,如下所示:

代码语言:javascript
运行
复制
print(getattr(object_dict.get(i), attribute_to_find))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61397133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档