[Tutor] Importing libraries
Steven D'Aprano
steve at pearwood.info
Sat Feb 4 12:35:31 CET 2012
Michael Lewis wrote:
> Why don't I have to import str or list to access their attributes like I do
> with the math or random or any other library?
Because they are built-in. That means they live inside the Python
compiler/interpreter itself.
They are built-in because str, list, etc. are fundamental data types, used by
the core Python interpreter, so they need to be available from the moment
Python starts up, even before your code starts to run.
Other built-in objects include:
None
True and False
Ellipsis
NotImplemented
int
float
tuple
dict
many different exceptions such as ValueError, TypeError, etc.
many different functions, such as len, chr, abs, enumerate, etc.
Some of these are built-in because the interpreter won't run without them.
Some are built-in for convenience and speed: although the interpreter will run
without them, they are so useful that it makes sense to treat them as
critical, core objects.
And some are built-in just because they were built-in many years ago, and for
backwards compatibility they have to stay built-in. (I'm thinking of functions
like compile and eval.)
--
Steven
More information about the Tutor
mailing list