Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Python Формирование списка из имен файлов https://www.cyberforum.ru/ python-beginners/ thread2358289.html
Здравствуйте. Есть папка с файлами, их около 200 (пример: SLMA00.T00-24.05032017,...,SLMA00.T00-24.0202017,...,SLMA00.T00-24.07072017,SLMA00.T00-24.1305017,...,SLMA00.T00-24.02092017, ...- это файлы...
Python PLC Omron memory D, исправить программу на языке Python
У меня есть ПЛК (программируемый логический контроллер) Omron CP1L. К нему надо исправить драйвер, который загружает текст, получаемый с RFID Reader (считывателя RFID меток, это пропуска и т.д), и...
Python Как заменить несколько элементов в списке как заменить несколько элементов https://www.cyberforum.ru/ python-beginners/ thread2358246.html Python Почем-то при выполнении программы выводит "None" https://www.cyberforum.ru/ python-beginners/ thread2358121.html
a =1, 2, 3, 4, 5, 6, 7, 8, 9, 10] def summa(x): d = 0 i = 0 if x > 0: d = d + a i = i + 1
Python В каждом столбце матрицы определить количество четных положительных значений
Дана целочисленная матрица R размером 7х8. В каждом столбце матрицы определить количество четных положительных значений и сформировать из них одномерный массив D. Help me plezzzz:cry:
Python В каждой строке матрицы поменять знак у максимального по модулю элемента на противоположный https://www.cyberforum.ru/ python-beginners/ thread2358069.html
В каждой строке заданной вещественной матрицы В размером 9х8 поменять знак у максимального по модулю элемента на противоположный. Вот такое вот задание, не могу понять как это сделать. Помогите...
Python TypeError: only size-1 arrays can be converted to Python scalars import numpy as np import pandas as pd import matplotlib.pyplot as plt from math import radians Initial_value = pd.DataFrame({'X': , 'Y': , ... https://www.cyberforum.ru/ python-beginners/ thread2358058.html Обьясните, что я делаю не так с циклом while? Python
Здравствуйте. Простая задача - предложить пользователю ввести число от 1 до 100, проверить действительно ли оно в диапазоне от одного до ста. Хочу именно своим способом, вот только не пойму почему...
Python Тотальная децимация https://www.cyberforum.ru/ python-beginners/ thread2358001.html
Солдаты вашего легиона замыслили заговор против императора! Поэтому они будут казнены абсолютно все в следующем порядке: на каждом шаге происходит казнь каждого K-го из ещё оставшихся в живых солдат,...
Python В неориентированном графе найти минимальный путь между двумя вершинами https://www.cyberforum.ru/ python-beginners/ thread2357947.html
В неориентированном графе требуется найти минимальный путь между двумя вершинами. Входные данные Первым на вход поступает число N – количество вершин в графе (1 ≤ N ≤ 100). Затем...
Вычислить первые 100 чисел Фибоначчи Python
Вычислить первые 100 чисел Фибоначчи Fn-1+Fn-2,F0+F1=1 Помогите пожалуйста, не могу разобраться :(
Python Подсчитать количество гласных букв https://www.cyberforum.ru/ python-beginners/ thread2357913.html
помогите. Заданы M строк слов, которые вводятся с клавиатуры. Подсчитать количество гласных букв в каждой из заданных строк.
559 / 299 / 189
Регистрация: 20.05.2016
Сообщений: 592
26.11.2018, 21:38 0

Почему если в классе реализован метод __eq__, то объекты класса становятся некэшируемыми? - Python - Ответ 13098501

26.11.2018, 21:38. Показов 897. Ответов 4
Метки (Все метки)

Ответ

Метод __eq__(), конечно, не делает объект изменяемым. Просто в нормальных условиях равенство объектов (x == y) подразумевает равенство их хэшей - hash(x) == hash(y). Однако, дефолтный метод __hash__ гарантировано дает разные хэши для различных экземпляров, т.е. хэши объектов совпадают если и только если x is y, независимо от того что там вернет наш собственный __eq__. Когда мы переопределяем метод __eq__, питон сам сбрасывает __hash__ в None, избавляя нас от лишней работы, да и склероз помешает нам добавить в код строку __hash__ = None.

Вернуться к обсуждению:
Почему если в классе реализован метод __eq__, то объекты класса становятся некэшируемыми? Python
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2018, 21:38
Готовые ответы и решения:

Как в классе Thread реализован вызов run(), если метод run() определён в АВТОРСКОМ классе?
И, следовательно, в классе Thread ничего не известно о вызове run? То есть, ребята, мне пришла в...

Как реализован метод DrawLine и другие, описанные в классе Graphics
На msdn не удосужились описать способ работы методов, там всего-лишь приведён пример...

Почему если при вызове метода Foo от типа B, в объекте класса FooImp вызывается метод от А?
Поясните пожалуйста, почему если при вызове метода Foo от типа B, в объекте класса FooImp...

Как в классе А у объекта класса B вызвать метод класса B ?
Есть Класс A и класс B . В классе B лежит объект типа ArrayList , назовём его arrayList, в этом же...

4
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2018, 21:38

Как в классе А у объекта класса B вызвать метод класса B ?
Есть Класс A и класс B . В классе B лежит объект типа ArrayList , назовём его arrayList, в этом...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.