簡體   English   中英

在python中打印矩陣對象

[英]print matrix object in python

我正在制作一個電路板類,並希望有一個方法可以將其打印為矩陣:

import numpy as np

class Board(object):

    BOARD_SIZE = 8+1
    BOARD_EDGE = range(BOARD_SIZE)

    def __init__(self):

        self.board = np.zeros( (BOARD_SIZE, BOARD_SIZE) )
        for i in BOARD_EDGE:
            self.board[i, 0] = i
            self.board[0, i] = i

我如何制作類似於以下方法的印刷電路板:

board = np.zeros( (8,8) )
print board

[[ 0.  0.  0.  0.  0.  0.  0.  0.]
[ 0.  0.  0.  0.  0.  0.  0.  0.]
[ 0.  0.  0.  0.  0.  0.  0.  0.]
[ 0.  0.  0.  0.  0.  0.  0.  0.]
[ 0.  0.  0.  0.  0.  0.  0.  0.]
[ 0.  0.  0.  0.  0.  0.  0.  0.]
[ 0.  0.  0.  0.  0.  0.  0.  0.]
[ 0.  0.  0.  0.  0.  0.  0.  0.]]

您可以為您的課程實現__repr__魔術方法

class Board(object):

    # existing code here...

    def __repr__(self):
        return repr(self.board)

這將使用self.board的表示形式作為類實例的表示形式(即print(Board())print(Board().board) )。

還要注意,您應該顯式使用類屬性,例如:

self.board = np.zeros((Board.BOARD_SIZE, Board.BOARD_SIZE))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM