I accidentally overwrote set
by using it as a variable name in an interactive python session - is there any way that I can get access to the original set
function without just restarting my session?
(I have so much stuff in that session that I'd rather not have to do that, although of course I can if necessary.)
Just delete the name that is masking the builtin:
>>> set = 'oops'
>>> set
'oops'
>>> del set
>>> set
<type 'set'>
You can always still access the original built-in through the builtins
module (__builtin__
on Python 2, with underscores and no s
); use this if you want to override the built-in but want to defer to the original still from the override:
>>> import builtins
>>> builtins.set
<type 'set'>
If you have trouble locating where the masking name is defined, do check all namespaces from your current one up to the built-ins; see Short description of the scoping rules? for what scopes may apply to your current situation.