indexed property? Can it be done?

Charles Hixson charleshixsn at earthlink.net
Tue May 8 18:59:23 EDT 2012


On 05/08/2012 01:19 PM, Adam Tauno Williams wrote:
> On Mon, 2012-05-07 at 20:15 -0700, Charles Hixson wrote:
>    
>> class Node:
>>       def    __init__(self, nodeId, key, value, downRight, downLeft, parent):
>>           dirty    =    True
>>           dlu    =    utcnow()
>>           self.node    =    [nodeId, downLeft, [key], [value],
>> [downRight], parent, dirty, dlu]
>> Note that node[3] is a list of keys (initially 1) and node[3] is a list
>> of values, etc.
>> What I'd like to do is to be able to address them thusly:
>> k = node.key[2]
>> v = node.value[2]
>> but if there's a way to do this, I haven't been able to figure it out.
>> Any suggestions?
>>      
> Do not do this;  this is bad code in any language.
>    

I'm sorry, but why do you say that?  In D or Eiffel it is a standard 
approach, with compiler support.  I will admit that one shouldn't do it 
in C++, or, it appears, in Python.  This is far from justifying saying 
one should never do it.

-- 
Charles Hixson




More information about the Python-list mailing list