В коде count = 0; def inc(): global count; count += 1; return count зачем используется global count?

AЧтобы сделать count неизменяемой константой и запретить любые присваивания внутри функции
BЧтобы скопировать значение count в локальную переменную и работать с независимой копией внутри функции
CЧтобы ускорить выполнение функции за счёт прямого доступа к глобальной памяти без поиска по областям видимости
DЧтобы указать, что count относится к глобальной области и его можно изменять внутри функции
Правильный ответ. global нужен, когда внутри функции вы присваиваете значение глобальной переменной, иначе Python считает её локальной.

Разбор

Если внутри функции есть присваивание count += 1, Python по умолчанию считает count локальным именем. Тогда попытка прочитать его до присваивания приведёт к ошибке UnboundLocalError. Команда global count говорит интерпретатору использовать глобальную переменную и позволяет изменять её внутри функции. В большинстве случаев лучше избегать глобального состояния и возвращать новое значение, но иногда global уместен в простых скриптах.

Проверь себя · 1/3разбор после ответа
Дана функция def total(*args): return sum(args). Что вернёт вызов total(1, 2, 3)?
Тренировать Python в Telegram

Ещё вопросы по теме «Функции и аргументы»