Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 12, 2009 21:00:38

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

когда вызывается метод __call__

исходный код размещен по адресу
http://phd.pp.ru/Russian/Software/Python/softerra/python3.html

class Process:
def __init__(self):
self.foo = 0

def __call__(self, v):
if self.foo > 100:
raise OverflowError
self.foo += v
return self.foo
подскажите когда вызывается (используется) метод __call__(self, v) при работе с экземпляром класса Process?
P.S. __init__ вызывается при создании экземпляра класса Process, __call__ когда?



Офлайн

#2 Авг. 12, 2009 21:07:55

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

когда вызывается метод __call__

x = Process();
x(5); # Это вызов (__call__)



Офлайн

#3 Авг. 13, 2009 21:25:43

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

когда вызывается метод __call__

спасибо



Офлайн

#4 Авг. 14, 2009 15:14:23

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

когда вызывается метод __call__

qman
добавляя в класс метод __call__, ты по сути создаешь эдакую простую функцию из него. __call__ - это метод, который вызывается при обращении к классу как к функции.



Офлайн

#5 Авг. 14, 2009 19:16:06

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

когда вызывается метод __call__

Enchantner
__call__ - это метод, который вызывается при обращении к классу как к функции.
к объекту, наверное?



Отредактировано (Авг. 14, 2009 19:16:36)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version