Выход показывает экземпляр на 0xa19124c как выход

друзья. У меня есть два сомнения в Python о выходе моего проекта. У меня есть два файла:

Bank.py

class clients:
    def __init__(self,name, telephone):
        self.name= name
        self.telephone= telephone

class account:
    def __init__(self, users, number, balance=0):
        self.users= users
        self.number=number
        self.balance=balance

    def resume(self):
        print('Number: %s. balance: %s' %(self.users, self.balance))

и BankClients.py:

from Bank import clients
from Bank import account

client1= clients('john', '555-0804')
account1= account([client1], 1, 3000)

account1.resume()

Проблема, вывод показывает:

Number: [<Bank.clients instance at 0xa19124c>]. balance: 3000

когда это должно быть:

Number: 1. balance:3000

Я работал в другом компьютере, и проблема та же. Я пытался писать в bank.py файл в строке print (xxx)

print('number ... balance...'%(self.balance, self.balance)) 

и выходные данные те же, только с другим кодом на экземпляре для себя.симметричный выход.

Заранее спасибо за помощь.

1 ответ

  1. вы можете решитьstr(account1), как должны выглядеть выходные данные (или repr(account1)[это то, что python использует при печати listвещей]), реализуя свои собственные __str____repr__функции и.

    например: для настройки str(client)вы можете сделать что-то вроде этого:

    class clients:
        def __init__(self,name, telephone):
            self.name= name
            self.telephone= telephone
    
        def __str__(self):
            return 'clients(name={}, telephone={})'.format(self.name,
                                                           self.telephone)
    

    (и добавить что-то подобное для __repr__).