TGViewer
Кодим вместе: Путь к IT-Успеху Кодим вместе: Путь к IT-Успеху @it_success_path · 541 subscribers
Post #210 337
Поехали разбираться с магией индексации: сделаем классы "как список" 🎩✨

Пусть есть такой класс студент, создадим его экземпляр
class Student:
def __init__(self, name, marks):
self.name = name
self.marks = list(marks)

st1 = Student('Евгений', [5, 5, 3, 2, 5])

Думаю понятно как обращаться к элементам списка marks: st1.marks[2]
А если хочется напрямую? st1[2]. Перехочется😂 - очевидно получим ошибку.❌

Это можем поправить, добавив метод __getitem__' - для получения значений.
    def __getitem__(self, item): # item - ключ/индекс
return self.marks[item]

Добавим метод __setitem__ - для изменения значений, например: по типу st1[2] = 4,
    def __setitem__(self, key, value): # key - индекс, value - # значение
self.marks[key] = value

Думаю уже догадались какой остался и для чего: __delitem__' - для удаления значений
    def __delitem__(self, key): # key - индекс
self.marks.pop(key)

Можно в эти методы дописывать необходимые вам проверки, чтобы как было задумано использовать пользовательский класс. Но и без этого будут вылезать ошибки, при неверном использовании, т.к. мы (в данном случае) будем уже работать со стандартными типами данных, в частности со списком.

Приведу пару примеров модернизации (смотреть в комменты)

Как вам такие "магические" методы? 👇
🔥 — Огонь, приму на вооружение!
🤔 — Знал, но освежил память.
💬 — Есть вопросы в комментарии!
  • 🔥 6
More from @it_success_path
  1. Oct 1, 2026Накрутка опыта всё? 🤔 Увидел новость: хедхантер хочет проверять опыт соискателей через эл…
  2. Sep 28, 2026Есть пробитие 80-ти! История подробно: • Все или ничего • Канал жив • Возвращение И всё эт…
  3. Sep 24, 2026В продолжение к предыдущему Помню, что в середине прошлой осени у меня было ровно 50 курсо…
  4. Sep 17, 2026Осознанный Python — База - done ✅ Коротко по курсу: • Теория - окей, как и в других курсах…
  5. Sep 12, 2026Почему решение приходит, когда ты уже не думаешь? 🧠 Знакомая ситуация: сидишь над задачей…
  6. Sep 5, 2026Эффект «плато» в обучении или почему прогресс останавливается Заметил за собой странную шт…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →