Python 断言打印数组的函数

Python 断言打印数组的函数,python,arrays,assert,assertion,Python,Arrays,Assert,Assertion,我正在尝试测试这个函数 def print_board(M): for i in range (M.shape[0]): line='' for j in range (M.shape[1]): line+=str(int(M[i,j])) print(line) 我创建了一个新文件来测试它,并导入了我的文件和函数数组,但我不太确定如何测试它,因为我没有返回它,我尝试了以下方法: assert(print_board

我正在尝试测试这个函数

def print_board(M):
    for i in range (M.shape[0]):
        line=''
        for j in range (M.shape[1]):
           line+=str(int(M[i,j]))
        print(line)
我创建了一个新文件来测试它,并导入了我的文件和函数数组,但我不太确定如何测试它,因为我没有返回它,我尝试了以下方法:

assert(print_board(array([[1,1,1],[0,0,0],[1,1,1]],dtype='bool')) == '''111 000 111''')
但是得到

断言者


您可以做的是重定向Python标准输出,其中print将其发送到一个字符串,然后比较该字符串


请参阅以了解如何执行此操作的说明。

他的功能对我来说太难了,我无法理解他给出的答案,无法将其应用于我自己,对不起。您的猜测是正确的;因为print_board没有return语句,所以返回值是Python的'None'值。谢谢,我会试试的