Академия Eduson

Функции

 Необязательные и именованные аргументы

 Аргументы функции, которые передаются без указания имен, называются:

 Ответ: позиционными

 Аргументы функции, которые передаются вместе с именами, называются:

 Ответ:  именованными

 Когда при вызове функции следует применять именованные аргументы?

Ответ:  если функция принимает аргументы, которые имеют одинаковый тип

 Выберите правильные способы вызова функции my_func(), которая была определена так:

def my_func(x, y):

 Ответ:  my_func(10, 20);    my_func(x=10, y=20);   my_func(10, y=20)

 Какой вариант вызова функции greet() соответствует стандарту PEP 8?

 Вариант А:

greet(name='Timur', msg='Good morning!')

 Вариант Б:

greet(name = 'Timur', msg = 'Good morning!')

 Ответ: Вариант А

 Где при вызове функции нужно указывать именованные аргументы?

 Ответ: после позиционных аргументов

 Параметры функции, имеющие значения по умолчанию, называются:

 Ответ: необязательными

 Что выведет следующий код?:

def fancy(length, char1, char2):
    return (char1 + char2) * length + char1

print(fancy(5, '-', '*'))

 Ответ:  -*-*-*-*-*-

 Что выведет следующий код?:

def fancy(length, char1='-', char2='*'):
    return (char1 + char2) * length + char1

print(fancy(3))

 Ответ:  -*-*-*-

 Что выведет следующий код?:

def fancy(length, char1='-', char2='*'):
    return (char1 + char2) * length + char1

print(fancy(3, '.'))

 Ответ:  .*.*.*.

 Что выведет следующий код?:

def fancy(length, char1='-', char2='*'):
    return (char1 + char2) * length + char1

print(fancy(2, ':', '|'))

 Ответ:  :|:|:

 Что выведет следующий код?:

def fancy(length, char1='-', char2='*'):
    return (char1 + char2) * length + char1

print(fancy(4, char2='#'))

 Ответ: -#-#-#-#-

 Что выведет следующий код?:

def fancy(length, char1='-', char2='*'):
    return (char1 + char2) * length + char1

print(fancy(char2='$', length=3))

 Ответ:   -$-$-$-

 Что выведет следующий код?:

def fancy(length, char1='-', char2='*'):
    return (char1 + char2) * length + char1

print(fancy(char2='!'))

 Ответ:  произойдет ошибка во время выполнения программы

 Напишите функцию matrix(), которая создает, заполняет и возвращает матрицу заданного размера. При этом (в зависимости от переданных аргументов) она должна вести себя так:

  • matrix() — возвращает матрицу 1×1, в которой единственное число равно нулю;
  • matrix(n) — возвращает матрицу n × n, заполненную нулями;
  • matrix(n, m) — возвращает матрицу из n строк и m столбцов, заполненную нулями;
  • matrix(n, m, value) — возвращает матрицу из n строк и m столбцов, в которой каждый элемент равен числу value.

 При создании функции пользуйтесь аргументами по умолчанию.

def matrix(n=1, m=None, value=0):
    if m is None:
        m = n
    return [[value] * m for _ in range(n)]