РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
474 of 541 menu

Атрибут types

Атрибут types класса ufunc возвращает кортеж строк, каждая из которых описывает допустимую комбинацию типов данных для входных аргументов и возвращаемого значения универсальной функции. Это позволяет узнать, с какими типами массивов может работать функция без потери точности или с автоматическим приведением типов.

Синтаксис

ufunc.types

Атрибут не принимает параметров и возвращает кортеж строк в формате, где каждый символ обозначает тип данных: i - целое число, f - число с плавающей точкой, d - число с двойной точностью, b - булев тип, O - объект.

Пример

Рассмотрим вывод атрибута для функции сложения add:

import numpy as np res = np.add.types print(res)

Результат выполнения кода:

('??->?', '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')

Каждая строка вида 'ii->i' означает, что функция принимает два целочисленных аргумента и возвращает целочисленный результат.

Пример

Получим поддерживаемые типы для функции возведения в квадрат square:

import numpy as np res = np.square.types print(res)

Результат выполнения кода:

('b->b', 'B->B', 'h->h', 'H->H', 'i->i', 'I->I', 'l->l', 'L->L', 'q->q', 'Q->Q', 'f->f', 'd->d', 'g->g', 'F->F', 'D->D', 'G->G', 'O->O')

Здесь каждая строка вида 'f->f' означает, что функция принимает один аргумент типа float и возвращает значение того же типа.

Пример

Используем атрибут types для проверки, поддерживает ли функция add работу с булевыми значениями:

import numpy as np types = np.add.types has_bool = any(t.startswith('?') for t in types) print(has_bool)

Результат выполнения кода:

True

Функция add действительно поддерживает булевы типы, о чём свидетельствует строка '??->?'.

Смотрите также

  • атрибут nin,
    который возвращает количество входных аргументов
  • атрибут nout,
    который возвращает количество выходных аргументов
  • атрибут ntypes,
    который возвращает количество поддерживаемых типов
  • атрибут signature,
    который возвращает сигнатуру функции для обобщённых ufunc
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить