我试图设置一个函数,该函数使用用户输入作为键和值(对象名称)来跟踪类的每个多重实例。第一部分似乎可以使用,但是随后我希望能够使用关键字“名称”和任何其他属性(在这种情况下为“年龄”)进行搜索,如果在字典中返回名称和属性。
我一直在尝试解决的问题是获取用户条目,并将其作为类的名称和表示形式的字符串,并进一步记录针对这些用户名进行的所有实例化的列表。我能看到的唯一方法是从诸如列表或字典之类的容器中实例化。
class text:
def __init__(self, name, age):
self.name=name
self.age=age
def __repr__(self):
return self.name
lst={}
def user():
x=input("Enter Class name: ")
lst[x]= x
y=input("Enter age: ")
create(x,y)
def create(x,y):
lst[x]=text(lst[x], y)
def search(x,m):
for i in lst:
if i == x:
return(lst[x].m)
else:
print("not found")
在搜索功能中,我希望将用户输入字符串x传递给lst [x]并找到它要执行的关联对象。然后,我希望m传递在搜索中传递的字符串属性,在这种情况下为age,然后输出名称和年龄。我曾经做过这项工作,但现在看来只是过去了,而不是年龄? 因此,我希望使用Search('martin','age')返回; 马丁 50 如果user()输入了x ='martin'和y = 50。
如果能使m传递.age属性,我将不胜感激? 谢谢 马丁
答案 0 :(得分:0)
class text:
def __init__(self, name, age):
self.name=name
self.age=age
def __repr__(self):
return self.name
lst={}
def user():
x=input("Enter Class name: ")
lst[x]= x
y=input("Enter age: ")
create(x,y)
def create(x,y):
lst[x]=text(lst[x], y)
def search(x,name):
**k = lst.get(x,None)
if k == None:
print("not found")
else:
return getattr(lst[x], name)**