Существует статья о Проекте Кода об использовании GDI + для.NET, чтобы сделать фото изменение размеров, использующее, скажем, Бикубическую интерполяцию.
была также другая статья об этой теме на другом блоге (сотрудник MS, я думаю), но я не могу найти ссылку нигде.: (Возможно, кто-то еще может найти его?
id(x)
сделает фокус за вас. Но мне любопытно, что не так с набором объектов (который объединяет объекты по значению)?
Для вашей конкретной проблемы я бы, вероятно, сохранил набор идентификаторов или объектов-оберток. Объект-оболочка будет содержать одну ссылку и сравниваться по x == y
<==> x.ref is y.ref
.
Также стоит отметить, что объекты Python также имеют хэш-функцию
. Эта функция необходима для помещения объекта в набор или словарь. Предполагается, что иногда он может конфликтовать для разных объектов, хотя хорошие реализации хэша
пытаются снизить вероятность этого.
Вот для чего нужен « is
».
Вместо проверки « if a == b
», которая проверяет то же значение ,
проверка ", если a равно b
", которая проверяет тот же идентификатор.
Как упоминает Ильян, id (x) создает уникальный идентификатор для объекта.
Но ваш вопрос сбивает с толку, поскольку метод Java hashCode не дает уникального идентификатора. Хэш-код Java работает так же, как и большинство хеш-функций: он всегда возвращает одно и то же значение для одного и того же объекта, два равных объекта всегда получают одинаковые коды, а неравные значения хеш-функции подразумевают неравные хэш-коды. В частности, два разных и неравных объекта могут получить одно и то же значение.
Это сбивает с толку, потому что криптографические хеш-функции сильно отличаются от этого и больше похожи (хотя и не совсем) на «уникальный идентификатор»