Урок 38. Функции. Области видимости

📁 Блок: Python Fundamentals / Функции⏱️ Время изучения: ~120 мин🎯 Сложность: Начальная - средняя
#def #add #pass #return #global #print #if #upper #len #for #in #range #int #else #update

⚡ Кратко: что важно

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

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

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

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

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

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

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

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

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

О чём этот урок

Источник урока разбирает пользовательские функции, pass, def, вызов, разные виды аргументов, return, правило LEGB и ключевое слово global. Материал дополнен практикой коротких чистых функций и пояснениями, когда параметры лучше глобальных переменных.

Цели

  • создавать функции через def и вызывать их
  • использовать позиционные, именованные и default-аргументы
  • понимать упаковку *args и **kwargs
  • возвращать значения через return
  • объяснять LEGB и избегать лишнего global

Что повторить заранее

Разделы урока

Что дальше

Следующий урок: Урок 39 — Summary session 10.