On 8/22/2012 10:59 AM, lipska the kat wrote:
There is no real enforced concept of information hiding, no binding of type to variable in fact no concept of typing at all as far as I can see.
Given that type(valid_name) always returns a type(class), that is a slightly strange statement. What is true is that there is no concept of static type for names. In Python (and similar languages) type or class is a property of objects, not names. This goes alone with names being bound to objects rather than linear memory blocks. (Memory block is a machine implementation of the abstraction 'information object'.) And Python objects are more stfongly typed than in some other languages. Names are only dynamically and indirectly typed when they are bound to an object. Except for the few keyword names like None, True, etc, names can be rebound to another object of another type.
-- Terry Jan Reedy -- http://mail.python.org/mailman/listinfo/python-list