Ответ 1
Я не думаю, что есть центральная "конфигурация", которую вы могли бы изменить, чтобы достичь этого. Некоторые варианты, что вы могли бы сделать:
-
Если вы создаете массивы только очень немногими функциями NumPy factory, замените эти функции на свои собственные версии. Если вы импортируете эти функции, например
from numpy import empty
вы можете просто сделать
from numpy import float128, empty as _empty def empty(*args, **kwargs): kwargs.update(dtype=float128) _empty(*args, **kwargs)
Если вы делаете
import numpy
вы можете написать модуль
mynumpy.py
from numpy import * _empty = empty def empty(*args, **kwargs): kwargs.update(dtype=float128) _empty(*args, **kwargs)
и импортировать его как
import mynumpy as numpy
-
Реорганируйте свой код, чтобы всегда использовать
dtype=myfloat
. Это облегчит такие изменения в будущем. Вы можете комбинировать этот подход с использованиемnumpy.empty_like()
,numpy.zeros_like()
иnumpy.ones_like()
, где это необходимо, чтобы иметь реальный тип данных, закодированный как можно меньше мест. -
Подкласс
numpy.ndarray
и используйте только ваши собственные конструкторы для создания новых массивов.