class Bank:
def __init__(self, name, id, balance):
self.name = name
self.id = id
self.balance = balance
def print_out(self):
return self.name, self.id, self.balance
x = Bank("Kyle", 12345, 500)
print x.print_out()
我的输出结果为("Kyle", 12345, 500)
,但我期待Kyle 12345 500
。
答案 0 :(得分:1)
return 返回一个元组,因此是(),对象按原样表示,字符串用""。
为了让一行包含你需要字符串操作的所有参数。
尝试类似
的内容print "%s %d %d" % x.print_out()
编辑:
您可以将退货条件更改为:
def print_out(self):
return "%s %d %d" % (self.name, self.id, self.balance)
答案 1 :(得分:1)
除了编写额外的函数外,类还有一个可以修改的内置表示属性__repr__
。每次拨打案件print x
时,您都会获得__repr__
的返回值。
__repr__
的标准值是一些哈希值。
要修改__repr__
,您可以执行以下操作:
class Bank:
def __init__(self, name, id, balance):
self.name = name
self.id = id
self.balance = balance
def __repr__(self):
return "%s %d %d" % (self.name, self.id, self.balance)
所以当你做以下
时x = Bank("Kyle", 12345, 500)
print x
您获得输出Kyle 12345 500
作为对象的表示