Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 1, 2008 16:19:23

neo08
От:
Зарегистрирован: 2008-08-01
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

__print__

>>> class b:
… def __init__(self):
… self.x=0
… self.y=0
… def __print__(self):
… print “%s %s”, (x,y)

>>> B = b()
>>> print B
<__main__.b instance at 0x00A76FD0>
>>>

Як називається метод який необхідно перевантажити аби
print B
виводив те що потрібно???



Наперід вдячний.



Офлайн

#2 Авг. 1, 2008 16:21:20

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

__print__

Метод __repr__(). Тоді навіть визначення __print__ непотрібне



Отредактировано (Авг. 1, 2008 16:22:28)

Офлайн

#3 Авг. 1, 2008 16:24:19

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

__print__

Для прикладу:

class foo(object):
def __repr__(self):
return ‘foo’

f = foo()
print f

Результат: ‘foo’



Офлайн

#4 Авг. 1, 2008 18:27:49

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

__print__

Если нужен только `print`, то конечно лучше переопределить `__str__` или `__unicode__`



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version