параметр
Именованная сущность в определении функции (или метода), которая задает аргумент (или, в некоторых случаях, аргументы), который может принимать функция. Существует пять видов параметров:
позиционное-или-ключевое слово : указывает аргумент, который можно передать либо позиционно , либо как аргумент ключевого слова . Это тип параметра по умолчанию, например, foo и bar в следующем:
def func(foo, bar=None): ...
только для позиции : указывает аргумент, который может быть предоставлен только позицией. В Python нет синтаксиса для определения только позиционных параметров. Однако некоторые встроенные функции имеют только позиционные параметры (например, abs()
).
только для ключевых слов : указывает аргумент, который может быть предоставлен только по ключевому слову. Параметры только для ключевого слова могут быть определены путем включения одного параметра var-positional или только *
в список параметров определения функции перед ними, например, kw_only1 и kw_only2 в следующее:
def func(arg, *, kw_only1, kw_only2): ...
var-positional : указывает, что может быть предоставлена произвольная последовательность позиционных аргументов (в дополнение к любым позиционным аргументам, уже принятым другими параметрами). Такой параметр может быть определен путем добавления имени параметра к *
, например args в следующем:
def func(*args, **kwargs): ...
var-keyword : указывает, что может быть предоставлено произвольно много аргументов ключевого слова (в дополнение к любым аргументам ключевого слова, уже принятым другими параметрами). Такой параметр может быть определен путем добавления имени параметра к **
, например, kwargs в приведенном выше примере.
Параметры могут указывать как необязательные, так и обязательные аргументы, а также значения по умолчанию для некоторых необязательных аргументов.
См. Также запись в глоссарии аргумент , вопрос FAQ по разница между аргументами и параметрами , класс inspect.Parameter
, функция определения раздел и PEP 362 .