Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #5278

Re: Peculiar Behaviour of __builtins__

From "Gabriel Genellina" <gagsl-py2@yahoo.com.ar>
Subject Re: Peculiar Behaviour of __builtins__
Date 2011-05-12 22:59 -0300
References <BANLkTinHZzc=yry29jkZnCy=Z7E7Ue0vUQ@mail.gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.1504.1305251910.9059.python-list@python.org> (permalink)

Show all headers | View raw


En Thu, 12 May 2011 20:29:57 -0300, Aman Nijhawan <amannijhawan@gmail.com>  
escribió:

> I was trying to call the builtin function min by using
> getattr(__builtins__,'min')
>
> This works at the interpretter prompt
>
> However when I called it inside a module that was imported by another  
> module
> it fails and gives an attribute error

__builtins__ (note the final 's') is an implementation detail. You want  
the __builtin__ (no 's') module, renamed 'builtin' in Python 3.x

py> import __builtin__
py> builtin_min = __builtin__.min
py> builtin_min([8,2,5])
2

See http://docs.python.org/library/__builtin__.html

Note: using getattr with a literal name is not so useful. Better to use  
dot notation.


-- 
Gabriel Genellina

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Peculiar Behaviour of __builtins__ "Gabriel Genellina" <gagsl-py2@yahoo.com.ar> - 2011-05-12 22:59 -0300

csiph-web