Найти - Пользователи
Полная версия: Ссылка на объект
Начало » Python для новичков » Ссылка на объект
1 2 3
Ardling
Не могу нигде найти информации как в питоне сделать что-то вроде ссылки на объект. Более конкретно - нужно обращаться к одному экземпляру объекта, из нескольких функций в многопоточном режиме. Нашел упоминание о такой штуке как aliasing, но не могу найти инфу по теме.
Ferroman
Передать как элемент списка, например.
Ardling
А более тривиального способа не предусмотрено? Мне такой прием представляется костылем ).
Андрей Светлов
>>> a = object()
>>> b = a
>>> a is b
True
Что вам еще нужно?
pasaranax
А вот в этом случае:
In [1]: a = 1
In [2]: b = 1
In [3]: a is b
Out[3]: True
это питон автоматически сослал два имени на один объект?

добавлено:
а вот это совсем непонятно :)
In [1]: a = 1
In [2]: b = 1
In [3]: a is b
Out[3]: True
In [4]: a = 1000000
In [5]: b = 1000000
In [6]: a is b
Out[6]: False
In [7]: a = 1
In [8]: b = 1
In [9]: a is b
Out[9]: True
bazooka
инты вроде и строки до какойто длины кешируюца
pasaranax
Спасибо, это все объясняет
Ardling
Спасибо за комментарии. Пошел учить матчасть)
Dimka665
хеш тут не причем. имхо, просто в шелле питон не создает вторую единичку, а использует ссылку на первую, и почему-то не делает этого для 1000000.
Андрей Светлов
Как же кеш не при чем? Смотрите
http://svn.python.org/view/python/trunk/Objects/intobject.c?view=markup, PyObject* PyInt_From_Long(long).
Если число в диапазоне [-NSMALLNEGINTS, NSMALLNEGINTS) - оно берется именно из кеша. NSMALLNEGINTS - немного меньше сотни, кажется.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB