170 похожих чатов

Конечно, можно и мутабельный объект сделать хэшируемым, но ты точно

этого хочешь? Под "мутабельным" подразумеваю скорее то, что мутируемые данные участвуют в вычислении хэша

14 ответов

3 просмотра

причем тут хочешь? мы говорим о том, что можно а что нельзя, конечно это не желательно но это и не запрещено.

Nero-sama 🇷🇺- Автор вопроса
lubaskinc0de 🎁
причем тут хочешь? мы говорим о том, что можно а ч...

"нельзя" можно использовать и как предостережение, лично я против этого, но питон, конечно, позволяет

Nero-sama 🇷🇺
"нельзя" можно использовать и как предостережение,...

позволяет, и в официальном источнике говориться, что ключом в словаре может быть все что hashable, вот и все.

Мутабельные данные не могут участвовать в вычислении хеша, так как это противоречит инвариантам __hash__

Nero-sama 🇷🇺- Автор вопроса
Pavel Павлик
Мутабельные данные не могут участвовать в вычислен...

Противоречит, но не мешает. Это же уже прошедшее обсуждение, просто скорее всего ты не хочешь хэшируемый мутабельный объект

lubaskinc0de 🎁
инварианты, это же из сферы тайпхинтов?

Это один из видов variance у тайп варов, но тут я использовал это слово в другом смысле и контексте, как правила, котоыре должны всегда выполняться

Nero-sama 🇷🇺
Противоречит, но не мешает. Это же уже прошедшее о...

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

Пройдет. Но рантаймовые проверки ничего не гарантируют. Они просто проверяют наличие атрибутов у классов, не смотря на сигнатуру даже. А «сложные» протоколы вроде Mapping провверяются не по наличию атрибута, по тому, что ты класс зарегистрировал

Pavel Павлик
Пройдет. Но рантаймовые проверки ничего не гаранти...

пройдет, так где он не реализует протокол в таком случае?

lubaskinc0de 🎁
пройдет, так где он не реализует протокол в таком ...

То что isinstance или issubclass вернули True не означает, что протокол реализуется

lubaskinc0de 🎁
а что означает в таком случае?

То, что у объекта есть атрибут или то, что этот объект зарегистрировали

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

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
8
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Карта сайта