Я пытаюсь установить функцию, которая отслеживает каждое множественное создание класса, используя пользовательский ввод в качестве ключа и значения (имя объекта). Эта первая часть, кажется, работает, но затем я хочу иметь возможность искать, используя ключевые слова «name» и любой другой атрибут в данном случае «age», и если в словаре вернуть имя и атрибут.
Проблема, которую я пытался решить, состоит в том, чтобы взять запись пользователя и сделать ее именем и строкой представления класса, а затем записать список всех экземпляров, сделанных для этих имен пользователей. Единственный способ сделать это - создать экземпляр из контейнера, такого как список или словарь.
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")
В функции поиска я ожидаю, что lst [x] будет передана пользовательская строка ввода x и найден связанный объект, который она выполняет. Затем я ожидаю, что m передаст строковый атрибут, переданный при поиске, в этом случае age, а затем напечатает name и age. У меня было это работает, но теперь кажется, что прошло м, а не возраст?
Поэтому, используя Search ('martin', 'age'), я ожидал, что он вернется;
Мартин
50
если пользователь () ввел x = 'martin' и y = 50.
Я был бы благодарен за любую помощь в получении m для передачи атрибута .age ??
Спасибо
Martin