Как использовать классы, полученные из класса списка Python

Используйте this.ngOnInit (); , чтобы перезагрузить тот же компонент, вместо того, чтобы перезагрузить всю страницу !!

DeleteEmployee(id:number)
  {
    this.employeeService.deleteEmployee(id)
    .subscribe( 
      (data) =>{
        console.log(data);

        this.ngOnInit();

      }),
      err => {
        console.log("Error");
      }   
  }
6
задан Community 23 May 2017 в 12:13
поделиться

1 ответ

В вашем коде есть несколько проблем:

1. Если вы выполните любую операцию со списком, результатом будет собственный список:

layers1 = Layers()
layers2 = Layers()
layers1 + layers2 -> the result will be a native list

2. Зачем определять input_string, если вы можете переопределить __ repr __ или __ str __

3. Почему в этом случае нужно вообще выводить из списка? Вам нужно только получить из списка, если вы хотите, чтобы ваш класс вел себя точно так же, как список. Но в вашем случае вы, похоже, ищете контейнер. Все, что вам нужно сделать, чтобы ваш класс вёл себя аналогично списку, - это переопределить некоторые специальные методы Python http://docs.python.org/reference/datamodel.html#emulating-container-types

class Layers(object):
    def __init__(self, container=None):
        if container is None:
            container = []
        self.container = container

    def add(self,n,k,comment):
        self.container.append([n,k,comment])

    def __str__(self):
        return str(self.container)

    def __repr__(self):
        return str(self.container)

    def __getitem__(self, key):
        return Layers(self.container[key])

    def __len__(self):
        return len(self.container)

>>> l = Layers()
>>> l.add(1, 2, 'test')
>>> l.add(1, 2, 'test')
>>> l
[[1, 2, 'test'], [1, 2, 'test']]
>>> l[0]
[1, 2, 'test']
>>> len(l)
2
9
ответ дан 10 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: