Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Знакомство с проигрывателями винила и находками по теме: обсуждаем экспертные обзоры и гайды

Время на прочтение3 мин
Количество просмотров9.9K

Делимся детальными руководствами и разборами по теме винила, обсуждаем необычные находки и исторические примеры, показываем наши видеооброзы и тематические подборки.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Атрибуты и протокол дескриптора в Python

Время на прочтение6 мин
Количество просмотров16K

Рассмотрим такой код:


class Foo:
    def __init__(self):
        self.bar = 'hello!'

foo = Foo()
print(foo.bar)

Сегодня мы разберём ответ на вопрос: «Что именно происходит, когда мы пишем foo.bar




Вы, возможно, уже знаете, что у большинства объектов есть внутренний словарь __dict__, содержащий все их аттрибуты. И что особенно радует, как легко можно изучать такие низкоуровневые детали в Питоне:


>>> foo = Foo()
>>> foo.__dict__
{'bar': 'hello!'}

Давайте начнём с попытки сформулировать такую (неполную) гипотезу:


foo.bar эквивалентно foo.__dict__['bar'] .


Пока звучит похоже на правду:


>>> foo = Foo()
>>> foo.__dict__['bar']
'hello!'

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии2

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность