@Timebird

Как задать переменной константу?

Здравствуйте!
Вопрос таков: имеется константа, которую функции иногда применяют в своих расчетах, выглядит как-то так:

value = 3

def():
#где-то здесь это value применяется
...

def(..):
...

def(...):
#и здесь тоже, например
....

...


Необходимо сделать эту константу переменной, то есть вместо тройки value нужно принимать значения при:
первом вызове функций -- value=1;
втором вызове функций -- value=2;
третьем вызове функций -- value = 3;
...
k-ом вызове функций -- value = k.

Как это осуществить?
Заранее спасибо!
  • Вопрос задан
  • 349 просмотров
Решения вопроса 1
@fireSparrow
В том коде, который вы привели, нужно после каждого вызова переменной добавить приращение на единицу:

value += 1

Либо есть более сложный путь - написать специальный класс, который будет перехватывать любой вызов определённого атрибута, возвращать значение соответствующей переменной, и сам же прирастит её на единицу.

Или ещё можно взять итератор count из стандартной библиотеки itertools, и обращаться к нему через next().

Но вам, скорее всего, лучше использовать самый первый способ из того, что я предложил.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@SergeyZelensky-Rostov
так и делать как у вас в коде сейчас, правда в этом случае переменная будет глобальной, что не очень хорошо
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы