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

Атрибут signature

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

Синтаксис

ufunc.signature

Атрибут не принимает параметров и возвращает строку с сигнатурой или None, если сигнатура не определена.

Пример

Давайте рассмотрим сигнатуру функции add, которая принимает два массива и возвращает один:

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

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

None

Функция add не имеет явной сигнатуры, поэтому атрибут возвращает None.

Пример

Теперь рассмотрим функцию matmul, которая выполняет матричное умножение и имеет определённую сигнатуру:

import numpy as np res = np.matmul.signature print(res)

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

"(n?,k),(k,m?)->(n?,m?)"

Сигнатура (n?,k),(k,m?)->(n?,m?) означает, что функция принимает два входных массива и возвращает один. Буквы n, k, m обозначают размерности, а знак вопроса указывает на необязательность этих размерностей.

Пример

Рассмотрим сигнатуру функции einsum, которая реализует соглашение Эйнштейна:

import numpy as np res = np.einsum.signature print(res)

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

None

Функция einsum не имеет фиксированной сигнатуры, так как её поведение определяется переданной строкой подписки, поэтому атрибут возвращает None.

Пример

Сигнатура позволяет определить количество входных и выходных массивов для функции linalg.solve:

import numpy as np res = np.linalg.solve.signature print(res)

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

"(...,m,m),(...,m)->(...,m)"

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

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

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