Hello, There's something I don't understand about descriptors. On a StackOverflow discussion (http://stackoverflow.com/questions/12846116/python-descriptor-vs-property) one of the answers provides the following descriptors example:
class Celsius( object ): def __init__( self, value=0.0 ): self.value= float(value) def __get__( self, instance, owner ): return self.value def __set__( self, instance, value ): self.value= float(value) class Temperature( object ): celsius= Celsius() farenheit= Farenheit() ... and then gets chided in the comments: "I believe your descriptor implementation of celsius is not correct. You should have set the celsius on instance rather than self; If you create two Temperature objects they will share the same celsius value." Overall, I have two problems: 1) I don't get the idea behind the 'instance' and 'owner' parameters at all. Is there some simple tutorial that can explain these? 2) I don't understand the motivation behind the comment. Of course declaring a class variable would cause celcius to be the same for all objects. Shouldn't we be instead using self.celcius in, say, __init__() and then everything will work fine? I have seen examples (http://programeveryday.com/post/an-introduction-to-python-descriptors/) where "instance" is used as keys of a dictionary, but given my argument above, isn't this approach an overkill? Regards, Ankush Thakur -- https://mail.python.org/mailman/listinfo/python-list