Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 1, 2007 16:27:28

Bangura
От:
Зарегистрирован: 2007-07-17
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Расширение произвольного класса или экземпляра класса

У меня есть класс, наследовать который не хочется. Есть много экземпляров этого класса. И на определённой стадии мне нужно временно добавить в каждый экземпляр атрибут с определённым значением (значения разные). Я помню, что это делается очень легко, но не помню как именно. Подскажите пожалуйста.



Офлайн

#2 Дек. 1, 2007 18:13:35

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Расширение произвольного класса или экземпляра класса

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



Офлайн

#3 Дек. 1, 2007 18:32:25

Bangura
От:
Зарегистрирован: 2007-07-17
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Расширение произвольного класса или экземпляра класса

bialix
легко? если значения разные, то нужно прошерстить каждый экземпляр. будет ли это легко зависит от.
Экземпляры в списке… Так как это делается, может кто-то изобразить?



Отредактировано (Дек. 1, 2007 18:32:59)

Офлайн

#4 Дек. 1, 2007 18:38:30

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Расширение произвольного класса или экземпляра класса

help(setattr)



Офлайн

#5 Дек. 1, 2007 19:05:24

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Расширение произвольного класса или экземпляра класса

>>> class Foo:
...     def __init__( self, a ):
...         self.a = a
...
>>> l = [ Foo( i ) for i in range( 10 ) ]
>>> [ i.a for i in l ]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> Foo.b = 777
>>> [ (i.a, i.b) for i in l ]
[(0, 777), (1, 777), (2, 777), (3, 777), (4, 777), (5, 777), (6, 777), (7, 777), (8, 777), (9, 777)]



Офлайн

#6 Дек. 1, 2007 21:11:36

Bangura
От:
Зарегистрирован: 2007-07-17
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Расширение произвольного класса или экземпляра класса

спасибо :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version