Я новичок в python (и вообще программирую), и мне интересно, есть ли способ напечатать / найти объект, если вы знаете атрибут. Например, если у меня есть такой класс:
class Employee:
def __init__(self, nameLast, nameFirst, age, sex):
self.nameLast = nameLast
self.nameFirst = nameFirst
self.age = age
self.sex = sex
e1 = Employee("Doe", "John", 35, "male")
e2 = Employee("Donevan", "Jane", 32, "female")
e3 = Employee("McHipster", "Ron", 26, "male")
И я знал фамилию, например "Doe"
, я мог использовать ее, чтобы получить и напечатать или сохранить экземпляр "e1"
.
mystery_function("Doe")
# Output: e1
Как я уже сказал, я новичок в кодировании, поэтому, может быть, я упускаю что-то простое, но я искал решение онлайн в течение пары часов, но мне не повезло.
EDIT:
Итак, я чувствую, что мне нужно объяснить остальное, что я пытаюсь сделать. После получения экземпляра e1
мне нужно использовать его в следующей функции.
Идея состоит в том, что когда пользователь ищет имя (например, Doe
), программе необходимо найти объект, чтобы использовать его в следующей функции ... что-то вроде:
def func_next(e): # Where e1 is the output from the previous bit
print("Hi my name is " + e.nameLast + ", " + e.nameFirst + ", a "
+ str(e.age) + " year old " + e.sex + " working at Company X.")
func_next(e1)
# Hi my name is Doe, John, a 35 year old male working at Company X.
Надеюсь, это имеет смысл. Насколько я понимаю, e1
не может быть строкой, потому что она не будет работать в последующих функциях. Выложенный мною код является (по общему мнению, глупым) примером, но он передает то, что я пытаюсь сделать:
Ввод (строка и атрибут объекта) -> ссылка на объект (например, e1
) -> function(e)
(где e - ссылка на объект) -> вывод