Как получить доступ к значениям класса из другого метода (вне класса) - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть этот код, и я пытаюсь распечатать словарь в классе, как я могу получить доступ к значению из другого метода и указать значение для печати

class Student:

    student_instance_dict            = {}

    def __init__(self, student):


        self.name = None 
        self.phoneNumber = 0


students = ['Mike', 'Dany']
for student in students:
    instance = Student(student)
    Student.student_instance_dict[student] = instance


    print (Student.student_instance_dict[student].name)#this prints out without any problems

def printUpdates(x):
    print (Student.student_instance_dict[student].x)

name = 'name'
printUpdates(name) 

lasстрока возвращает AttributeError: у объекта 'Student' нет атрибута 'x'

1 Ответ

0 голосов
/ 13 декабря 2018

Student.student_instance_dict[student].x проверит объект Student.student_instance_dict[student] на наличие атрибута с именем x, которого нет у ваших объектов.Похоже, что вы пытаетесь создать функцию, которая получит значение атрибута, имя которого передается в виде строки.Для этого используйте getattr():

def printUpdates(x):
    print(getattr(Student.student_instance_dict[student], x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...