Python prints my class object memory address instead of values of my array : <p>I want to print each element registered in my "student_list" array. But Python prints the memory location of each of my values. I am totally new to OOP using python. Any help or comments are highly appreciated.</p>

<pre><code>class Student():

    def __init__(self, name, grade_level, subject, grade):
        self.name = name
        self.grade_level = grade_level
        self.subject = subject
        self.grade = grade

    @classmethod
    def student_input(cls):
        return cls(
            input("Name: "),
            input("Garde Level: "),
            input("Subject: "),
            int(input("Grade: ")),
        )

    def student_info(self):
        print("************************")
        print("Name: " + self.name+"\n"+"Grade Level: "+self.grade_level +
              "\n"+"Subject: "+self.subject + "\n"+"Grade: "+str(self.grade))
        print("************************")


student_list = []
print("**********************")
user1 = Student.student_input()
student_list.append(user1)
print("**********************")
user2 = Student.student_input()
student_list.append(user2)
print("**********************")

print(user1.student_info)

for student in student_list:
    print(student)
</code></pre>

<h2>Output:</h2>

<pre><code>PS C:\Users\D3L10\Documents\PythonML\iPythonProj&gt; python .\schoolSystem.py
**********************
Name: Andy
Garde Level: Freshman
Subject: Physics
Grade: 92
**********************
Name: James
Garde Level: Sophmore
Subject: Algebra
Grade: 82
**********************
&lt;bound method Student.student_info of &lt;__main__.Student object at 0x00580610&gt;&gt;
&lt;__main__.Student object at 0x00580610&gt;
&lt;__main__.Student object at 0x00819DB0&gt;
</code></pre>
