WorksheetsФункції у Python. Частина 2
Total questions: 20
Worksheet time: 10mins
Що таке lambda-функція у Python?
Рекурсивна функція
Функція з кількома return
Анонімна однорядкова функція
Імпортована функція
Який з варіантів — правильний синтаксис lambda-функції?
`lambda x = x * 2`
`lambda x: x * 2`
`def lambda x: x * 2`
`lambda(x): x * 2`
Який результат `print((lambda x: x + 5)(3))`?
5
7
8
10
Для чого найчастіше використовуються lambda-функції?
Глобальні змінні
Короткі функції, що передаються як аргументи
Створення модулів
Робота з базами даних
Яка функція використовується для створення фабрики функцій?
`lambda`
`make_function()`
Вкладена функція, яка повертає іншу функцію
`@staticmethod`
Що повертає фабрика функцій?
Рядок
Нову функцію
Список функцій
Клас
Що робить цей код: `def outer(x): def inner(y): return x + y return inner`?
Повертає число
Повертає рядок
Повертає функцію, яка додає `x` до `y`
Повертає список
Що таке декоратор у Python?
Стиль форматування
Функція, що модифікує іншу функцію
HTML-елемент
Команда для імпорту
Який синтаксис правильний для декоратора?
`def @mydecorator:`
`@mydecorator`
`decorator(myfunc)`
`mydecorator[]`
Що виведе цей код?
def decor(f):
def wrap():
print("Before")
f()
print("After")
return wrap
@decor
def hello():
print("Hello")
hello()
Hello
Before Hello After
Nothing
Error
Як передати параметри в декоровану функцію?
Не можна
Через `*args, kwargs` у функції-декораторі
Через глобальну змінну
Через return
Яке ключове слово потрібно, щоб зберегти мета-дані функції при декоруванні?
`keepmeta`
`funcreplace`
`@functools.wraps`
`@static`
Що робить `functools.wraps()`?
Приховує функцію
Зберігає ім’я та докстрінг оригінальної функції
Викликає методи класу
Видаляє декоратор
Який результат:
f = lambda x, y: x * y
print(f(2, 3))
5
6
23
8
Що виведе цей код:
def outer(a):
def inner(b):
return a + b
return inner
add5 = outer(5)
print(add5(3))
3
8
5
Error
Lambda-функції можуть бути:
Аргументами інших функцій
Тільки глобальними
Тільки в циклі
Тільки в класі
Lambda-функція може мати:
Більше одного return
Лише одну виразну інструкцію
Багато блоків коду
Параметри за замовчуванням
Що робить цей декоратор?
def bold(func):
def wrapper():
return "<b>" + func() + "</b>"
return wrapper
@bold
def greet():
return "Hello"
Виведе Hello
Виведе Hello
Виведе bold
Error
Чим lambda-функція відрізняється від звичайної?
Нічим
Не має імені, коротша, лише один вираз
Працює тільки з числами
Має декоратори за замовчуванням
Яке з тверджень про декоратори є вірним?
Можна використати тільки один раз
Можна комбінувати декілька декораторів
Працюють лише з класами
Не підтримуються в Python 3
