rxjs Поток прерван при использовании декоратора в angular 7

Документация по каждому указанному вами методу легко достижима из индекса документации .

В любом случае это может быть немного расширенной ссылкой:

__get__, __set__ и __del__ являются дескрипторами

«В двух словах , дескриптор - это способ настройки того, что происходит, когда вы ссылаетесь на атрибут на модели. " [Official doc link]

Они хорошо объясняются вокруг, поэтому здесь есть некоторые ссылки:

__getattr__, __getattribute__, __setattr__ , __delattr__

Определены методы, которые могут быть определены для настройки значения доступа к атрибуту (использование, назначение или удаление x.name) для экземпляров класса. [официальный doc-канал]

Пример 1:

class Foo:
    def __init__(self):
        self.x = 10
    def __getattr__(self, name):
        return name

f = Foo()
f.x    # -> 10
f.bar   # -> 'bar'

Пример 2:

class Foo:
    def __init__(self):
        self.x = 10
    def __getattr__(self,name):
        return name
    def __getattribute__(self, name):
        if name == 'bar':
            raise AttributeError
        return 'getattribute'

f = Foo()
f.x    # -> 'getattribute'
f.baz    # -> 'getattribute'
f.bar    # -> 'bar'

__getitem__, __setitem__, __delitem__

Способы, которые можно определить для реализации объектов-контейнеров. [официальный doc-ссылка]

Пример :

class MyColors:
    def __init__(self):
        self._colors = {'yellow': 1, 'red': 2, 'blue': 3}
    def __getitem__(self, name):
        return self._colors.get(name, 100)

colors = MyColors()
colors['yellow']   # -> 1
colors['brown']    # -> 100

Надеюсь, этого достаточно, чтобы дать вам общую идею.

0
задан Anand Rockzz 18 January 2019 в 20:24
поделиться