Классы 1

Поделиться
HTML-код
  • Опубликовано: 2 дек 2024

Комментарии • 20

  • @vlad071096
    @vlad071096 6 лет назад

    Bunch - это стандартный types.SimpleNamespace

  • @ПавелИванов-е3г
    @ПавелИванов-е3г 7 лет назад +1

    А где можно посмотреть задачи?

    • @CompscicenterRu
      @CompscicenterRu  7 лет назад

      Задачи доступны только студентам CS центра (набор раз в год в Питере и Новосибе).

    • @ПавелИванов-е3г
      @ПавелИванов-е3г 7 лет назад +12

      А какой смысл ограничивать в доступе задачи курса? У вас в CS всё равно набор ограничен и есть конкурс на места, в оффлайн на всех не хватит при любом раскладе.

  • @motionrus3828
    @motionrus3828 8 лет назад

    Где можно почитать про это более подробно?

    • @CompscicenterRu
      @CompscicenterRu  8 лет назад

      Уточните, пожалуйста, про что именно.

  • @broooth
    @broooth 8 лет назад

    Не понял про MemorizingDict. Почему history будет статическая, т.е. общая для всех классов? Обращение к этой переменной через self, не через имя класса
    ruclips.net/video/SJ8z-TF07s4/видео.html

    • @slebedev
      @slebedev 8 лет назад +6

      +Oleg Khalidov атрибут history будет общим для всех экземпляров потому что он инициализируется один раз при объявлении класса. При обращении к self.history интерпретатор сначала посмотрит в `__dict__` экземпляра, поймёт, что history там нет, затем продолжит поиск в `__dict__` класса, где и найдёт тот самый разделяемый deque.

    • @broooth
      @broooth 8 лет назад

      +Sergei Lebedev Нашел! Я когда проверял в python shell, полю history присваивал значение а не вызывал у него append(), чем и создавал локальный аттрибут history.
      Спасибо! И за то что выложили лекции тоже)

  • @lepdmitrijj
    @lepdmitrijj 3 года назад +2

    Про super вообще не понял, 3 раз пересматриваю фрагмент с 50 минуты

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 3 года назад +2

      лучше самому выполнить в питоне, станет понятнее

    • @nicholasspezza9449
      @nicholasspezza9449 Год назад

      забаненныыыыый в гуглеееееее добрался до ютубааааааа

  • @MaxPivovarov
    @MaxPivovarov 8 лет назад

    Почему то :
    >>> import collections
    >>> class MemorizingDict(dict):
    . history = deque(maxlen=10)
    .
    . def set(self, key, value):
    . self.history.append(key)
    . self[key] = value
    .
    . def get_history(self):
    . return self.history
    .
    Traceback (most recent call last):
    File "", line 1, in
    class MemorizingDict(dict):
    File "", line 2, in MemorizingDict
    history = deque(maxlen=10)
    NameError: name 'deque' is not defined
    >>>
    что нетак Python 3.4.3???

    • @MaxPivovarov
      @MaxPivovarov 8 лет назад +1

      сработало так:
      >>> import collections
      >>> class MemorizingDict(dict):
      . history = collections.deque(maxlen=10)
      .
      . def set(self, key, value):
      . self.history.append(key)
      . self[key] = value
      .
      . def get_history(self):
      . return self.history
      .
      >>> d = MemorizingDict({'foo':42})
      >>> d.set('baz', 100500)
      >>> print(d.get_history())
      deque(['baz'], maxlen=10)
      >>> d = MemorizingDict()
      >>> d.set('boo', 500100)
      >>> print(d.get_history())
      deque(['boo'], maxlen=10)
      но по моему что-то тут не так?!

    • @Nidarru
      @Nidarru 7 лет назад +1

      Taxom, тут все так. Либо в первом варианте импорт поменять на from collections import deque, либо использовать второй вариант

  • @ВладЕфименко-к3м
    @ВладЕфименко-к3м 5 лет назад

    Это НЕ атрибут класса, а свойство!

    • @maksimfedorov2632
      @maksimfedorov2632 5 лет назад +2

      а вот тут вы попались, тк свойства и переменные ( fields/attributes) класса -- разные вещи!

  • @sorokousov
    @sorokousov 5 лет назад

    Треш, в уроках про классы применяют обертки