Задать вопрос
@Eugene523

Можно ли запретить возможность использовать глобальные переменные в функциях?

Можно ли запретить возможность использовать глобальные переменные в функциях?
Вот допустим у меня есть код:
a = 5

def some_function():
    b = 2 * a
    print(b)

some_function()

Мне бы хотелось, чтобы такой код не интерпретировался. То есть можно использовать только те переменные, которые переданы в качестве аргументов или объявлены в теле функции. Можно ли это сделать?
  • Вопрос задан
  • 137 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 1
@bbkmzzzz
Нельзя.
Не использовать "а" в функции. Зачем эта "а" нужна в области модуля?
Давать переменным адекватные имена, чтобы было понятно зачем она нужна.
Используйте классы, а переменные уровня модуля только для констант.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Ответ написан
Комментировать
@Eugene523 Автор вопроса
Я понял. Надо все переменные объявлять только внутри функций. К примеру:
def main():
    a = 0

Тогда если у меня есть упоминание на неизвестную переменную, которой нет в глобальной области, то код не должен скомпилироваться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы