Поднять исключение при назначении

Есть ли способ предотвратить привязку имени или отскок переменной? Например, учитывая foo переменная, возможно ли, чтобы операция присваивания вызывала исключение?

Более конкретно, при условии, что у нас есть полный контроль над foo класс, возможна ли следующая сессия?

>>> foo = 2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
WhateverError: foo cannot be bound

Я знаю, что можно сделать атрибуты класса доступными только для чтения или использовать __slots__ чтобы запретить добавление новых членов, но я хочу знать, можно ли добиться того же с помощью свободных переменных (например, переменных, не являющихся членами). Кроме того, я предполагаю, что левый член присваивания является действительным идентификатором.

Я задаю этот вопрос из любопытства. Я ничего не пытаюсь сделать с этим, так что это не проблема XY.

0 ответов

Другие вопросы по тегам