如何定义类函数并仅打印数字



我正在工作一个名为MarbleBoard的类,我的代码如下:

class MarblesBoard:
def __init__(self, balls):
self.balls=balls
print (self.balls)
board = MarblesBoard((3,6,7,4,1,0,8,2,5)) 

我得到的评价是:

(3, 6, 7, 4, 1, 0, 8, 2, 5)

但我想得到下面的结果

board = MarblesBoard((3,6,7,4,1,0,8,2,5)) 
board 
3 6 7 4 1 0 8 2 5 

您应该为类定义一个__repr__方法,而不是在__init__方法中打印。

例如:

def __repr__(self):
return ' '.join([str(ball) for ball in self.balls])

然后你可以做:

board = MarblesBoard((3,6,7,4,1,0,8,2,5)) 
print(board)
3 6 7 4 1 0 8 2 5

使用类后,可以使用__repr__方法来计算对象的"官方"字符串信誉:

class MarblesBoard():
def __init__(self, balls):
self.balls = balls
def __repr__(self):
return " ".join(str(i) for i in self.balls)

现在,当您调用board变量时,您会得到以下输出:

board = MarblesBoard((3,6,7,4,1,0,8,2,5))
board
3 6 7 4 1 0 8 2 5

最新更新