Не вызывается метод внутри экземпляра класса в Python 3.7

Не удается получить доступ к методу read_file() внутри экземпляра класса в Python 3.7. Требуется напечатать список list_values_end при помощи функции print_file(). При вызове функции print_file() терминал выдает <__main__.ReadFile object at 0x0082EA70> вместо ожидаемого списка. Поясните, пожалуйста, что сделано не так? Код прилагается.

class ReadFile():
    def __init__(self):
        
        self.file_r = 'val_kWt.txt'
        self.read_file(self.file_r)
                
        self.print_file(self)
        
    def read_file(self, file_r):
        list_values_end = []
        vk = open(file_r, 'r')
        list_values = vk.readlines()
 
        for list_value in list_values:
            list_values_end.append(list_value.rstrip())
        
        vk.close()
        print(list_values_end)
         
        return list_values_end
        
    def print_file(self, list_values_end):
        print(list_values_end)

examp = ReadFile()

Ответы (1 шт):

Автор решения: Xander

Всё вызывается. Нужно просто понимать, что return не только возвращает значение, но и завершает выполнение метода.

Поэтому когда вы пишите

return list_values_end
print(list_values_end)

то до print исполнение кода просто не дойдёт.

UPD: Ответ на исправленный вопрос:

Вы же в функцию вывода передаёте сам экземпляр класса. А надо передавать тот список, который хотите напечатать.

Вместо

self.read_file(self.file_r)            
self.print_file(self)

Сделайте

result = self.read_file(self.file_r)            
self.print_file(result)
→ Ссылка