Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #76840
| Newsgroups | comp.lang.python |
|---|---|
| Date | 2014-08-22 22:44 -0700 |
| References | <mailman.13266.1408670735.18130.python-list@python.org> |
| Message-ID | <0b731225-3572-4357-aba5-2284dbaa2d65@googlegroups.com> (permalink) |
| Subject | Re: the output in reference of descriptor. |
| From | CHIN Dihedral <dihedral88888@gmail.com> |
On Friday, August 22, 2014 9:25:02 AM UTC+8, luofeiyu wrote:
> class C(object):
>
Well, in python class is treated
as onte of the first class built in
operations.
class "new_class_ame" ( parentclasses)
Please check this syntax first in Python.
> a = 'abc'
>
> def __getattribute__(self, *args, **kwargs):
>
> print("__getattribute__() is called")
>
> return object.__getattribute__(self, *args, **kwargs)
>
> def __getattr__(self, name):
>
> print("__getattr__() is called ")
>
> return name + " from getattr"
>
> def __get__(self, instance, owner):
>
> print("__get__() is called", instance, owner)
>
> return self
>
> def foo(self, x):
>
> print(x)
>
>
>
>
>
> class C2(object):
>
> d = C()
>
>
>
>
>
> >>> c2.d
>
> __get__() is called <__main__.C2 object at 0x000000000297BE10> <class
>
> '__main__.
>
> C2'>
>
> <__main__.C object at 0x000000000297BBA8>
>
>
>
> I understant the result ,c2.d trigger the __get__ method in class C.
>
> def __get__(self, instance, owner):
>
> print("__get__() is called", instance, owner)
>
> return self
>
>
>
> It print "__get__() is called", instance, owner and return self
>
> `<__main__.C object at 0x000000000297BBA8>`
>
>
>
>
>
> >>> c2.d.a
>
> __get__() is called <__main__.C2 object at 0x000000000297BE10> <class
>
> '__main__.
>
> C2'>
>
> __getattribute__() is called
>
> 'abc'
>
>
>
> Why the result of c2.d.a is not :
>
>
>
> __get__() is called <__main__.C2 object at 0x000000000297BE10> <class
>
> '__main__.
>
> C2'>
>
> __getattribute__() is called
>
> 'abc'
>
>
>
> Why the` return self` in the __get__ method in class C does not work?
Back to comp.lang.python | Previous | Next — Previous in thread | Find similar | Unroll thread
the output in reference of descriptor. luofeiyu <elearn2014@gmail.com> - 2014-08-22 09:25 +0800 Re: the output in reference of descriptor. CHIN Dihedral <dihedral88888@gmail.com> - 2014-08-22 22:44 -0700
csiph-web