Over 30 types of variables available in python ?

chaouche yacine yacinechaouche at yahoo.com
Mon Jan 7 03:53:26 EST 2013


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 <tjreedy at udel.edu>
To: python-list at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130107/7aea8d6e/attachment.html>


More information about the Python-list mailing list