MyTetra Share
Делитесь знаниями!
О, смотри-ка какое хорошее место. Дайте два!
Функции с неизвестным числом аргументов в Python и параметры по умолчанию
13.03.2015
00:07
Раздел: Компьютер - Программирование - Язык Python

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


Синтаксис с параметрами по умолчанию в целом похож на 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.35
Яндекс индекс цитирования