如何从不同的方法(类外)访问类的值

2024-04-19 17:02:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这种代码的平静,我正试图打印出一个类中的字典,如何从不同的方法访问值并指定要打印的值

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”


Tags: 方法instance代码nameself字典defstudent
1条回答
网友
1楼 · 发布于 2024-04-19 17:02:31

Student.student_instance_dict[student].x将检查对象Student.student_instance_dict[student]中名为x的属性,而您的对象没有该属性。看起来您要做的是创建一个函数,该函数将获取一个属性的值,该属性的名称作为字符串传入。为此,请使用^{}

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

相关问题 更多 >