输出显示0xa19124c处的实例作为输出

时间:2016-12-30 08:35:25

标签: python-3.x object instance

朋友。我对Python的项目输出有两个疑问。我有两个文件:

Bank.py

class

和BankClients.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))

问题,输出显示:

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

我在其他计算机上运行,​​问题是一样的。我尝试在print(xxx)行的bank.py文件中写入

Number: 1. balance:3000

并且输出相同,只是在self.balance输出的实例中使用另一个代码。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

你可以决定str(account1)(或repr(account1) [在打印list内容时python使用的内容]的输出应该是什么样的__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__添加类似内容。)