Тест по основам программирования на Python

Тема 4. Функции

2

Что делает yield в функции?

возвращает значение и завершает функцию

создаёт генератор

печатает значение

создаёт список

Какой результат:

python
def f(a,b=2): return a+b print(f(3))

5

3

2

None

Что будет выведено:

python
def f(): return 5 print(f())

5

None

f

Error

Что делает return в функции?

выводит значение на экран

возвращает значение функции

завершает цикл

создаёт переменную

Что делает ** при вызове функции f(**d)?

распаковывает список

распаковывает словарь как именованные аргументы

создаёт словарь

создаёт кортеж

Как вернуть значение из функции?

output

print

return

yield

Что вернёт функция без return?

0

""

None

False

Какой результат:

python
def f(x): return x+1 print(f(f(2)))

4

3

2

5

Что делает pass в теле функции?

возвращает None

ничего, используется как заглушка

завершает функцию

выводит сообщение

Как объявить анонимную функцию с двумя аргументами?

lambda x: y: x+y

lambda x,y: x+y

def(x,y): x+y

func(x,y): x+y

Как вернуть несколько значений из функции?

return x+y

return x,y

return [x+y]

return (x+y)

Как объявить функцию с аргументом по умолчанию?

def f(x): x=5

def f(x=5):

def f(x?:5):

def f(default x=5):

Что делает **kwargs в функции?

передаёт произвольные позиционные аргументы

передаёт произвольные именованные аргументы

создаёт кортеж

создаёт множество

Как проверить, что объект является функцией?

isinstance(obj, int)

callable(obj)

type(obj) == func

hasattr(obj, 'func')

Что выведет:

python
def f(x): x += 1 return x print(f(5))

6

5

None

1

Как объявить рекурсивную функцию?

нельзя

def f(): f()

def f(): call(f)

def f(): return f()

Что делает *args в функции?

передаёт ключевые аргументы

передаёт произвольное количество позиционных аргументов

создаёт список

создаёт словарь

Как вызвать функцию внутри другой функции?

нельзя

просто вызвать её по имени

через return

через global

Как объявить функцию без аргументов?

def f(x=None):

def f():

def f(void):

def f(nil):

Какой результат:

python
def f(x): return x*2 print(f(0))

0

None

Error

2

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

def f(*):

def f(*args, **kwargs):

def f(...):

def f(args, kwargs):

Как вызвать lambda-функцию f = lambda x: x+1 для x=5?

f.call(5)

f(5)

call(f,5)

f.execute(5)

Как объявить функцию в Python?

function my_func():

def my_func():

func my_func():

define my_func():

Как вызвать функцию foo?

call foo()

foo()

run foo()

exec foo

Как вернуть список из функции?

print([1,2,3])

return [1,2,3]

list(1,2,3)

return 1,2,3

Какой вариант корректно передаёт функцию как аргумент?

f(f)

f(f)

call(f)

exec(f)

Что делает * при вызове функции f(*lst)?

создаёт кортеж

распаковывает список как аргументы

создаёт список

создаёт словарь

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

f(x:5, y:10)

f(x=5, y=10)

f({x:5, y:10})

f(5:x,10:y)

Что вернёт:

python
def f(): return "Hello" print(f())

Hello

"Hello"

None

Error

Что делает lambda x: x*2?

создаёт цикл

создаёт класс

создаёт анонимную функцию

создаёт список

Что выведет:

python
def f(a, b=2): print(a,b) f(5)

5 2

5 None

2 5

5 5

Что выведет:

python
def f(x): return x*2 print(f(3))

6

3

9

None

Что делает return в рекурсивной функции?

вызывает ошибку

возвращает значение на каждом уровне рекурсии

завершает цикл

печатает значение