Найти - Пользователи
Полная версия: фокус-покус
Начало » Флейм » фокус-покус
1
appetito
>>> class C:
def __init__(self, x):
self.x = x
def getx(self):
return self.x


>>> a=C('A')
>>> b=C('B')
>>> a.getx, b.getx = b.getx, a.getx
>>> a.getx()
'B'
>>> b.getx()
'A'
>>> a.x
'A'
>>> b.x
'B'
>>>
PooH
appetito
>>> a.getx, b.getx = b.getx, a.getx
Ну вот здесь вы меняет методы у объектов. Какое зверское самоубийство :)
Андрей Светлов
Если бы методы просто менялись… В экземпляр записывается bound method - а до того его не было и работал class descriptor
kin4ev
В принципе фокус считаю удавшимся, appetito, прими поздравления и хвалу.
regall
Не надо делать такие фокусы, особенно если не уверен насчет того, что же действительно происходит внутри.
Carzil
А что же в действительности происходит внутри?
regall
Ответ уже прозвучал:
Андрей Светлов
Если бы методы просто менялись… В экземпляр записывается bound method - а до того его не было и работал class descriptor
Более детально ознакомится можно здесь.
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