Safe to import __builtin__ ?

Robert Kern robert.kern at
Wed Jun 3 19:11:51 EDT 2009

On 2009-06-03 17:54, Steven D'Aprano wrote:
> On Wed, 03 Jun 2009 18:57:29 +0000, Benjamin Peterson wrote:
>> mrstevegross<mrstevegross<at>>  writes:
>>> Is it generally safe to explicitly import __builtin__ in python? That
>>> is, my code reads like this:
>> ...
>>> It seems like it should be a safe import, but I just want to make sure.
>> Yes, that's fine. I'm not sure why you don't just use type(), though.
> I'm not sure why you think type() is a substitute for __builtin__. Here's
> a typical use-case for __builtin__:
> import __builtin__
> def map(*args):  # shadow a built-in
>      # pre-processing goes here
>      result =*args)
>      # post-processing goes here
>      return result
> How does type() help you?

It doesn't in that sense. The example that Benjamin elided used 
__builtin__.type() for no discernible reason (unlike your example which creates 
a shadow function that overrides the builtin version). Benjamin was asking what 
the motivation was, since it was not evident.

Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco

More information about the Python-list mailing list