Доступ к свойствам объекта. Property и slots

Поділитися
Вставка
  • Опубліковано 25 лис 2024

КОМЕНТАРІ • 25

  • @Chel1k7
    @Chel1k7 Рік тому +6

    Автор просто гений объяснения материала, спасибо

  • @photo_graf_khv
    @photo_graf_khv Місяць тому

    Прекрасный урок! Благодарю 👍🤝

  • @dmitrymorozov3038
    @dmitrymorozov3038 7 місяців тому +5

    Вместо записи в __dict__, можно вызвать
    super().__setattr__(key, value)

  • @topevgn5914
    @topevgn5914 Рік тому +3

    Спасибо за подробность и доступность подачи материала. Палец вверх и колокольчик.

  • @cOnT3ST
    @cOnT3ST Рік тому +3

    Большое спасибо за видос. Очень доступно

  • @MrPalianytsia
    @MrPalianytsia Рік тому +5

    Ну тогда и я поругаюсь, зачем 60fps? Можете изменить палитру подсветки синтаксиса? Фиолетовомалиновый на этом фоне плохо читается. Спасибо.

  • @swaytornado8327
    @swaytornado8327 Рік тому +4

    привет. а запиши видео, как ты пришел в программирование, что интересного приходилось делать, и как ты с Java перешел на Python, и зачем. У тебя хороший технический бэкграунд, и на фоне других авторов, очень качественные примеры написания и применения кода. Я уверен, что всем будет интересно послушать. А с одной задачей я разобрался, метод (__add__) добавил, а вторую с хэшем, еще не решил. Спасибо за видео. Прям все самое лучшее, The Best.

    • @PythonRussian
      @PythonRussian  Рік тому +2

      добавил в список на будущее

  • @n_sta5850
    @n_sta5850 6 місяців тому +1

    Спасибо за видео!

  • @altf4_so
    @altf4_so Рік тому +1

    Пасибки, звук стал очень хорошим

  • @olegsedov9474
    @olegsedov9474 Рік тому +1

    при использовании __slots__ атрибут объект все еще может получить, если присвоить аттрибут классу:
    class First:
    __slots__ = ()
    def __init__(self, value):
    self.value = value
    if __name__ == '__main__':
    first = first(42)
    Dealer.att = 23
    print(dealer.att)
    выводит 23.
    Я понимаю, что через объект мы обращаемся к атрибуту класса, и объект атрибут не приобретает, но хотелось бы понять тогда как ограничить создание атрибутов класса

  • @pafos9447
    @pafos9447 Рік тому +2

    кайф

  • @barma1309
    @barma1309 3 місяці тому

    Крутяк

  • @mixalaus
    @mixalaus Рік тому +2

    Спасибо за классное объяснение. Многое про @property стало понятнее.
    А как меняется быстродействие при использовании __slots__?

    • @PythonRussian
      @PythonRussian  Рік тому +2

      быстродействие кардинально не изменится, таплы конечно оптимизированы, но не думаю что прирост будет существенным по скорости. Целиться стоит в экономию памяти, вот она может быть кардинальной.

  • @SoloveY1990
    @SoloveY1990 Рік тому +1

    Большое спасибо! Подскажите, пожалуйста, как после создания __slots__ хранятся значения атрибутов, если больше нет __dict__??

  • @725etw7w
    @725etw7w Рік тому +1

    Здравствуйте, есть ли какие-то кейсы где надо использовать сеттеры с геттерами, а где через проперти фигачить? Просто например есть класс юзер который на открытии приложения инициализируется, потом его имя, фам... и т.д. где-то используются, а потом еще и добавлять auth_token, как неизменяемую переменную. Вот вопрос заключается в том: что правильней пользовать сеттер и там прописывать миллион if что бы отсеять всевозможные неправильные value, или через проперти для каждого поля расписать?

    • @PythonRussian
      @PythonRussian  Рік тому

      золотого правила нет, вопрос в читаемости, насколько вам и другому программисту будет понятно что тут написано. Проперти вполне подходят из-за простоты использования, а кто из других языков приходит -любят сеттеры

    • @725etw7w
      @725etw7w Рік тому

      ​@@PythonRussianизвините, не досмотрел до конца видео, все понял, спасибо!

  • @gsm7490
    @gsm7490 6 місяців тому +1

    А можно сделать
    Cat.__slots__ += (“say_meaow”,) ?

  • @x-user-agent
    @x-user-agent Рік тому +1

    как всегда - супер 👍 спасибо
    по поводу мелко - всегда думал, а чего постоянно просят сделать крупнее, нормально же видно) пока не начал смотреть буржуйские ролики, что называется почувствуйте разницу ua-cam.com/video/DMP-GcElEIo/v-deo.html

    • @MrPalianytsia
      @MrPalianytsia Рік тому

      Иногда просто удобно посмотреть на телефоне, а диагональ не лопата.

  • @zion4d
    @zion4d Місяць тому

    Не getattr, а getattribute. Это разные методы

  • @Nicktimes
    @Nicktimes 10 місяців тому +1

    Мне всегда интересно,от кого эта защита блять?если в своем коде лазию исключительно я,может в группе разрабов

    • @PythonRussian
      @PythonRussian  10 місяців тому +1

      если код только для тебя, то конечно пиши как угодно =) если есть шанс что увидит еще кто-то, то стоит подумать о читаемости и организации