Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #104718

Re: Descriptors vs Property

From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Newsgroups comp.lang.python
Subject Re: Descriptors vs Property
Date 2016-03-12 18:13 +0100
Organization PointedEars Software (PES)
Message-ID <6979634.CGS0JZJfMg@PointedEars.de> (permalink)
References <nc0b1u$ckq$1@dont-email.me> <nc0c8o$fvn$1@dont-email.me>

Show all headers | View raw


Veek. M wrote:

> Veek. M wrote:
>> class TypedProperty(object):
>>     def __init__(self,name,type,default=None):
>>         self.name = "_" + name
>>         self.type = type
>>         self.default = default if default else type()
>> 
>>     def __get__(self,instance,cls):
>>         return getattr(instance,self.name,self.default)
>> […]
>> class Foo(object):
>>     name = TypedProperty("name",str)
>>     num  = TypedProperty("num",int,42)
>> […]
>> When you do f.name you are actually doing:
>> 
>> f.name.__get__(self, instance, cls)

Correct.

>> What the heck??
> As in, why is he passing instance, cls and who is populating those vars?

RTFM: 
<https://docs.python.org/3/reference/datamodel.html?highlight=__get__#implementing-descriptors>

> When you do f.name you just have self to pass into
> name.__whatever__(self)

No.

> I haven't read the descriptor protocol as yet.

You should.  You should also trim your quotations to the relevant minimum, 
and post using your real name.

-- 
PointedEars

Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Descriptors vs Property "Veek. M" <vek.m1234@gmail.com> - 2016-03-12 11:29 +0530
  Re: Descriptors vs Property Chris Angelico <rosuav@gmail.com> - 2016-03-12 17:05 +1100
  Re: Descriptors vs Property Ian Kelly <ian.g.kelly@gmail.com> - 2016-03-11 23:12 -0700
    Re: Descriptors vs Property "Veek. M" <vek.m1234@gmail.com> - 2016-03-12 11:54 +0530
      Re: Descriptors vs Property Chris Angelico <rosuav@gmail.com> - 2016-03-12 17:35 +1100
      Re: Descriptors vs Property Ian Kelly <ian.g.kelly@gmail.com> - 2016-03-11 23:37 -0700
  Re: Descriptors vs Property "Veek. M" <vek.m1234@gmail.com> - 2016-03-12 11:50 +0530
    Re: Descriptors vs Property Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-03-12 18:13 +0100
      Re: Descriptors vs Property "Veek. M" <vek.m1234@gmail.com> - 2016-03-13 12:48 +0530
        Re: Descriptors vs Property Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-03-13 10:25 +0100
          Re: Descriptors vs Property "Veek. M" <vek.m1234@gmail.com> - 2016-03-13 15:26 +0530
            Re: Descriptors vs Property Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-03-13 11:35 +0100
              Re: Descriptors vs Property "Veek. M" <vek.m1234@gmail.com> - 2016-03-13 18:50 +0530
                Re: Descriptors vs Property Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-03-13 19:15 +0100
                Re: Descriptors vs Property Mark Lawrence <breamoreboy@yahoo.co.uk> - 2016-03-14 15:34 +0000
                Re: Descriptors vs Property Rustom Mody <rustompmody@gmail.com> - 2016-03-14 10:16 -0700
                Re: Descriptors vs Property Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-03-16 01:53 +0100
  Re: Descriptors vs Property Ethan Furman <ethan@stoneleaf.us> - 2016-03-16 08:15 -0700

csiph-web