Атрибут ntypes
Атрибут ntypes класса ufunc возвращает целое число,
представляющее количество типов данных, которые поддерживает
универсальная функция. Это значение отражает число записей
в атрибуте types, который содержит все поддерживаемые
типы в виде строковых кодов.
Атрибут доступен только для чтения и полезен для понимания того, насколько универсальна функция в плане работы с различными типами данных NumPy, такими как целые числа, числа с плавающей точкой, комплексные числа и другие.
Синтаксис
ufunc.ntypes
Пример
Давайте получим количество поддерживаемых типов данных
для универсальной функции add:
import numpy as np
res = np.add.ntypes
print(res)
Результат выполнения кода:
19
Это означает, что функция add поддерживает 19 различных
комбинаций типов данных для своих операндов.
Пример
Давайте сравним количество поддерживаемых типов для разных универсальных функций:
import numpy as np
print("add:", np.add.ntypes)
print("multiply:", np.multiply.ntypes)
print("sin:", np.sin.ntypes)
print("sqrt:", np.sqrt.ntypes)
print("log:", np.log.ntypes)
Результат выполнения кода:
add: 19
multiply: 19
sin: 9
sqrt: 9
log: 8
Как видно из примера, арифметические функции поддерживают больше типов данных, чем тригонометрические или логарифмические, которые обычно работают только с числами с плавающей точкой и комплексными числами.
Пример
Давайте используем атрибут ntypes вместе с атрибутом
types для получения полной информации о поддерживаемых
типах данных:
import numpy as np
ufunc = np.add
print("Number of types:", ufunc.ntypes)
print("All types:", ufunc.types)
Результат выполнения кода:
Number of types: 19
All types: ['??->?', 'bb->b', 'BB->B', 'hh->h', 'HH->H', 'ii->i', 'II->I', 'll->l', 'LL->L', 'qq->q', 'QQ->Q', 'ff->f', 'dd->d', 'gg->g', 'FF->F', 'DD->D', 'GG->G', 'OO->O', 'ee->e']
Количество типов в списке соответствует значению атрибута
ntypes. Каждая строка в списке представляет собой
комбинацию типов входных и выходных данных.