Thanks for all your comments. It appears to me that there is a slight confusion
between types and classes then, plus other entities (protocols ?)
So my question is : is there a notion of "type" in python, like in other
languages (integers, booleans, floats, strings, characters (in c)) ? if so,
can you give a list of the available "types" ?
The documentation (http://docs.python.org/2/library/stdtypes.html) states "The
principal built-in types are numerics, sequences, mappings, files, classes,
instances and exceptions."
________________________________
From: Terry Reedy <tjre...@udel.edu>
To: python-list@python.org
Sent: Monday, January 7, 2013 1:45 AM
Subject: Re: Over 30 types of variables available in python ?
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
-- http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list