numpy.set_string_function

numpy.set_string_function(f, repr=True)

Функция set_string_function() позволяет задать собственную функцию для вывода массивов на экран.

Параметры:
f - функция Python или None.
Функция, которая будет использована для репрезентативного представления массива (метод __repr__, который получается без функции print()). Данная функция должна принимать только один аргумент - массив и возвращать только одну строку с его представлением. Если параметр установлен в None, то значение сбрасывается на установленную по умолчанию функцию NumPy.
repr - True или False, (необязательный параметр).
Если True (по умолчанию), то функция будет установлена для метода __repr__ (вывод без функции print()). Если False, то функция будет установлена для метода __str__, который позволяет задать более "красиво-читаемое" строковое представление массива (функция print()).


Примеры

>>> import numpy as np
>>> 
>>> def my_print(a):
...     return 'Пора бы и отдохнуть друг'
... 
>>> np.set_string_function(my_print)
>>> 
>>> a = np.arange(7)
>>> a
Пора бы и отдохнуть друг
>>> 
>>> print(a)
[0 1 2 3 4 5 6]
>>> 
>>> 
>>> np.set_string_function(my_print, repr = False)
>>> 
>>> a
Пора бы и отдохнуть друг
>>> 
>>> print(a)
Пора бы и отдохнуть друг
>>> 
>>> 
>>> np.set_string_function(None)    #  сбрасывает на функцию NumPy по умолчанию
>>> 
>>> a
array([0, 1, 2, 3, 4, 5, 6])
>>> 
>>> print(a)
Пора бы и отдохнуть друг

Или более реалистичный пример:

>>> def my_print(a):
...     s = ''
...     for i in a.flat:
...         s += str(i) + ' | '
...     return s
... 
>>> np.set_string_function(my_print)
>>> 
>>> a = np.arange(6).reshape(2, 3)
>>> a
0 | 1 | 2 | 3 | 4 | 5 | 
>>> 
>>> # Но все равно :)
... print(a)
Пора бы и отдохнуть друг