有什么方法可以防止名称被绑定,或者变量被反弹?例如,给定一个foo
变量,是否可以让赋值操作引发异常?
更具体地说,如果我们对foo
' 类有完全的控制权,那么下面的会话是否可能?
>>> foo = 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
WhateverError: foo cannot be bound
我知道可以将类属性设为只读,或用于__slots__
防止添加新成员,但我想知道是否可以在自由变量(如非成员变量)上实现相同的功能。此外,我假设赋值的左成员是一个有效的标识符。
我出于好奇问这个问题。我没有试图用这个来完成任何事情,所以这不是 XY 问题。