B
Bryan
in the python cookbook 2nd edition, section 6.7 (page 250-251), there a problem
for implementing tuples with named items. i'm having trouble understanding how
one of commands work and hope someone here can explain what exactly is going on.
without copying all the code here, here is the gist of the problem:
from operator import itemgetter
class supertup(tuple):
def __new__(cls, *args):
return tuple.__new__(cls, args)
setattr(supertup, 'x', property(itemgetter(0)))
i understand what itemgetter does,
i understand what property does, and i understand what setattr does. i tested
this problem myself and it works, but i can't understand how t.x evaluates to 2
in this case. how does itemgetter (and property) know what tuple to use? in my
itemgetter sample, the tuple is passed to itemgetter so it's obvious to see
what's going on. but in the supertup example, it isn't obvious to me.
thanks,
bryan
for implementing tuples with named items. i'm having trouble understanding how
one of commands work and hope someone here can explain what exactly is going on.
without copying all the code here, here is the gist of the problem:
from operator import itemgetter
class supertup(tuple):
def __new__(cls, *args):
return tuple.__new__(cls, args)
setattr(supertup, 'x', property(itemgetter(0)))
i understand what itemgetter does,
i understand what property does, and i understand what setattr does. i tested
this problem myself and it works, but i can't understand how t.x evaluates to 2
in this case. how does itemgetter (and property) know what tuple to use? in my
itemgetter sample, the tuple is passed to itemgetter so it's obvious to see
what's going on. but in the supertup example, it isn't obvious to me.
thanks,
bryan