2024-09-28 22:33:53 发布
网友
所以我上了这样的课:
class Useraccount(): def __init__(self, saving, checking, PIN): self.save = saving self.check = checking self.passwd = PIN
我想要这样的输出:
>>> a = Useraccount(2000,3000,1234) >>> a >>> {1234:[2000,3000]}
如何做到这一点,请帮帮我。你知道吗
您可以在类上定义__repr__方法来格式化打印输出。你知道吗
__repr__
class Useraccount(): def __init__(self, saving, checking, PIN): self.save = saving self.check = checking self.passwd = PIN def __repr__(self): return '<Useraccount({pin}: [{saving}, {checking}])>'.format(pin=self.passwd, saving=self.save, checking=self.check)
示例:
>>> a = Useraccount(2000,3000,1234) >>> a <Useraccount(1234: [2000, 3000])>
因此,如果您使用的是Python2.x,那么应该重写unicode方法来表示Useraccount类的对象。你知道吗
def __unicode__(self): return '{%d: [%d,%d]}' % (self.save, self.check, self.passwd)
如果你用的是Python3.x
def __str__(self) return '{%d: [%d,%d]}' % (self.save, self.check, self.passwd)
其他答案修改__repr__,这只影响字符串表示。要实际输出字典,可以在UserAccount中定义以特定格式返回的方法:
class UserAccount(object): def __init__(self, saving, checking, PIN): self.save = saving self.check = checking self.passwd = PIN def asDict(self): return {self.passwd: [self.save, self.check]}
例如:
>>> user1 = UserAccount(10, 20, 1234) >>> user1.asDict() {1234: [10, 20]}
您可以在类上定义
__repr__
方法来格式化打印输出。你知道吗示例:
因此,如果您使用的是Python2.x,那么应该重写unicode方法来表示Useraccount类的对象。你知道吗
如果你用的是Python3.x
其他答案修改
__repr__
,这只影响字符串表示。要实际输出字典,可以在UserAccount中定义以特定格式返回的方法:例如:
相关问题 更多 >
编程相关推荐