Есть функция def f(x): print(x). Чему будет равна переменная res после кода res = f(3)?
AЗначение
None: функция без return неявно возвращает None при любом телеBЧисло
3: значение из вызова print(x) становится результатом функции f(3)CСтрока
'3': строковое представление, в которое print приводит число при выводеD
TypeError: исключение возникает при присваивании результата функции без returnПравильный ответ. Если в функции нет
return, результат вызова — None, даже если внутри что-то печатается.Разбор
Функция f вызывает print(x), поэтому на экран выведется число 3. Но возвращаемого значения нет, и Python неявно возвращает None, поэтому res = f(3) присваивает res значение None. В аналитическом коде это важно: функции, результат которых нужен дальше, должны явно возвращать данные через return, а не только печатать. Никакого TypeError тут не будет — присваивание None совершенно валидно.
Проверь себя · 1/3разбор после ответа
Есть функция
def f(a, b): return a + b. Что произойдёт при вызове f(1, a=2)?Ещё вопросы по теме «Функции и аргументы»
- Есть функция `def add(x, y): return x + y`. Что вернет вызов `add(2, 3)`?
- Дана функция `def f(a, b, c): return a * 100 + b * 10 + c`. Что вернёт вызов `f(1, c=3, b=2)`?
- Есть функция `def power(x, exp=2): return x ** exp`. Что вернёт вызов `power(3)`?
- Дана функция `def total(*args): return sum(args)`. Что вернёт вызов `total(1, 2, 3)`?
- Дан код: `x = 10` на верхнем уровне модуля и `def inc(): return x + 1`. Что вернёт вызов `inc()`?
- Все вопросы по «Функции и аргументы» →