객체를 리스트에 append하는 경우, 리스트 값을 표시하는 방법문의

park jason@Google의 이미지

일반적으로 list를 생성하면
>>> list_b = []
>>> list_b.append("a")
>>> list_b
['a']
위와 같이 리스트를 치면 바로 값이 표시가 되는데요...

아래와 같이 클래스의 객체를 리스트에 append하게 되면
리스트를 치면 값이 안나오고, 메모리 주소가 나오는 이유가 뭔지 궁금합니다.
어떻게 하면 리스트의 값을 나오게 할 수 있는지 궁금합니다.

>>> class A:
... def __init__(self, name):
... self.name = name
... def print_info(self):
... print(self.name)
...
>>> a = A("John")
>>> list_a = []
>>> list_a.append(a)
>>> list_a
[<__main__.A object at 0x103c9ee80>]

pynoos의 이미지

__str__(self)
__repr__(self)

두 method를 구현해주시면 됩니다.