Over 30 types of variables available in python ?

Terry Reedy tjreedy at udel.edu
Sun Jan 6 19:45:38 EST 2013


On 1/6/2013 6:12 PM, chaouche yacine wrote:
>
> booleans
> ints, floats, longs, complexes
> strings, unicode strings
> lists, tuples, dictionaries, dictionary views, sets, frozensets,
> buffers, bytearrays, slices
> functions, methods, code objects,modules,classes, instances, types,
> nulls (there is exactly one object of type Null which is None),
> tracebacks, frames
> generators, iterators, xranges,
> files,
> memoryviews,
> context managers,
>
> These are all listed in this page
> http://docs.python.org/2/library/stdtypes.html as built-in types.

They would better be called classes. Every thing is Python is an 
instance of a class. 'Iterator' and 'context manager' are protocols that 
multiple classes can follow, not classes themselves.

> Am I
> getting anything wrong here ? I'm a bit confused about it. I have never
> seen so many types in the few programming languages I saw.

C has up to 8 integer types, Python 3 just 1. Most of the above are 
structures in C, which may or may not by typedef-ed, or classes in C++. 
If you counted all the structures and classes that come with C or C++, 
you would find a comparable number.

C stdlib has a pointer to file structure type, which is equivalent to 
Python's file class. It is true that C does not come with hashed arrays 
(sets) and hashed associative arrays (dicts), but they are often needed. 
So C programmers either reinvent the wheel or include a third-party 
library. C also has frame structure, but they are normally hidden. C 
programmers do not have easy direct access. However, virus writers learn 
to work with them ;-(.

-- 
Terry Jan Reedy




More information about the Python-list mailing list