📝 Задания

⚡ Кратко: задания

Функция - именованный блок кода, который можно вызывать много раз.

def создаёт функцию, pass временно оставляет обязательный блок пустым.

При вызове функции позиционные аргументы сопоставляются по порядку, именованные - по названию параметра.

Аргументы по умолчанию пишутся после обязательных параметров.

*args собирает лишние позиционные аргументы в tuple, **kwargs - именованные аргументы в dict.

return завершает функцию и возвращает значение; без return результатом будет None.

LEGB описывает поиск имён: Local, Enclosing, Global, Built-in.

global нужен только для изменения глобальной переменной, но чаще лучше передавать данные параметрами.

Топ-3 ошибки: передавать не то количество аргументов; ожидать значение от функции, где нет return; менять global там, где достаточно параметров и return.

Задание 1. Конвертер температуры

Напишите функцию, которая конвертирует температуру из Цельсия в Фаренгейт и наоборот.

temp = 100
scale = "C"

Ожидаемый результат: 100C = 212.0F

Задание 2. Фильтрация списка по длине

Создайте filter_strings, которая принимает n и любое количество строк, возвращая строки длиннее n.

strings = ["apple", "banana", "cherry", "date", "fig"]
n = 5

Ожидаемый результат: ['banana', 'cherry']

Задание 3. Проверка знака числа

Напишите функцию, которая возвращает текст о том, число положительное, отрицательное или равно нулю.

num = -3

Ожидаемый результат: Число отрицательное

Задание 4. Мини-опрос

Объясните, почему def example(): pass при печати результата возвращает None.

def example():
    pass

print(example())

Ожидаемый результат: None

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Какой стиль имён переменных обычно рекомендует PEP 8?

Вопрос 2

Зачем использовать f-strings в современном Python?

Вопрос 3

Когда полезен ранний возврат из функции?

Вопрос 4

Что делает аннотация типа в Python?

Вопрос 5

Как лучше обрабатывать ожидаемую ошибку преобразования?

Вопрос 6

Чем отличается = от ==?

Вопрос 7

Что делает print()?