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

Ты думаешь если изменять атрибуты класса, то будет меняться его

хеш?

20 ответов

12 просмотров

зависит от класса. Для пользовательских классов по дефолту - просто от адреса в памяти, но ты можешь сам переопределить. Для встроенных коллекций - от содержимого

Tishka17
зависит от класса. Для пользовательских классов по...

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

█ Anton
я рискну вставить свое мнение. разве можно хеширов...

Ну объект где-то лежит. Ты не можешь его просто передвинуть не сломав ссылки на него.

шта. тогда все объекты immutable

immutable An object with a fixed value это из доки, там про проперти вообще речи не идет

Ivan-K Автор вопроса
Tishka17
шта. тогда все объекты immutable

Почему? Список может менять своё место в памяти, т.к. является динамическим массивом по-сути

Ivan-K Автор вопроса
Ivan K
value of hash, наверное

immutable An object with a fixed value. Immutable objects include numbers, strings and tuples. Such an object cannot be altered. A new object has to be created if a different value has to be stored. They play an important role in places where a constant hash value is needed, for example as a key in a dictionary.

Ivan-K Автор вопроса
Ilya
immutable An object with a fixed value. Immutable ...

in places where a constant hash value is needed


Не является

массив ссылок же


f

#ifndef Py_LIMITED_API typedef struct { PyObject_VAR_HEAD /* Vector of pointers to list elements. list[0] is ob_item[0], etc. */ PyObject **ob_item; /* ob_item contains space for 'allocated' elements. The number * currently in use is ob_size. * Invariants: * 0 <= ob_size <= allocated * len(list) == ob_size * ob_item == NULL implies ob_size == allocated == 0 * list.sort() temporarily sets allocated to -1 to detect mutations. * * Items must normally not be NULL, except during construction when * the list is not yet visible outside the function that builds it. */ Py_ssize_t allocated; } PyListObject; #endif я конечно в си не силен, но разве нет?


f

обьясняй, раз f

нет, меняется место где лежит содержимое списка, а не сам объект

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

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

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
Есть предложения, как подобное можно упростить?
Hemul GM
12
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
У меня вопросик назрел. Почему, создав класс без наследования и реализации деструктора Destroy, деструктор не вызывался при free. Потом указал наследование от tobject и overri...
Сергей Бычков
9
@y0zhig @shizzard А можно я опишу цель и может вообще ерланг мне не подходит. На текущий момент как я понимаю у ерланга есть легковесные потоки и задача выполняется в каком т...
Дмитрий Спиридонов
5
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
just use free version ?? pycharm has a free version
Fan / Ac
9
Карта сайта