MyTetra Share
Делитесь знаниями!
Функции с неизвестным числом аргументов в Python и параметры по умолчанию
Время создания: 13.03.2015 00:07
Раздел: Компьютер - Программирование - Язык Python
Запись: xintrea/mytetra_syncro/master/base/1426194445rqz3nqu7kc/text.html на raw.github.com

Параметры по умолчанию


Синтаксис с параметрами по умолчанию в целом похож на PHP:

PHP:

function makeyogurt($flavour, $type = "acidophilus")

{

return "Making a bowl of $type $flavour.";

}


Python:

def makeyogurt(flavour, ftype="acidophilus"):

return "Making a bowl of %s %s." % (ftype, flavour, )


Функция с неизвестным числом аргументов


Порой вам нужна функция под неизвестное количество аргументов. Это может быть: проксирующая функция, логирующая функция или функция для получения сигналов. В PHP, начиная с 5.6, вам доступен следующий синтаксис:

function sum(...$numbers) {

$acc = 0;

foreach ($numbers as $n) {

$acc += $n;

}

return $acc;

}


echo sum(1, 2, 3, 4);

// Или

echo add(...[1, 2, 3, 4]);


В Python аналогично можно ловить в массив неименнованные и в словарь именованные аргументы:


def acc(*args, **kwargs):

total = 0

for n in args:

total += n

return total


print(acc(1, 2, 3, 4))

# Или

print(acc(*[1, 2, 3, 4]))


Соответственно *argslist неименованных аргументов, **kwargsdict именованных аргументов.

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования