Функции
Необязательные и именованные аргументы
Аргументы функции, которые передаются без указания имен, называются:
Ответ: позиционными
Аргументы функции, которые передаются вместе с именами, называются:
Ответ: именованными
Когда при вызове функции следует применять именованные аргументы?
Ответ: если функция принимает аргументы, которые имеют одинаковый тип
Выберите правильные способы вызова функции 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)]