Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 20, 2013 23:56:59

Michail_V
Зарегистрирован: 2013-06-19
Сообщения: 13
Репутация: +  -1  -
Профиль   Отправить e-mail  

класс(решено)

class Nume(object):
    def __init__ (self, numero):
        self.n = numero
    def __add__(self, other):
            if isinstance(other, Nume):
                     return Nume(self.n + other.n)

>>> a = Nume(3)
>>> b = Nume(7)
>>> a+b
<__main__.Nume object at 0x7f51c6a64e10>

оно создаёт ещё 1 объект класса Nume, который равен a+b

>>> c = a + b
>>> c
<__main__.Nume object at 0x7f51c6a64e50>


как сделать так, чтобы когда я спрашивал “с”, мне выдавало в ответ “10”????


PS: да это класс с простыми числами просто тренируюсь, чтобы всё правильно понимать

Отредактировано Michail_V (Июнь 21, 2013 00:21:06)

Офлайн

#2 Июнь 21, 2013 00:16:22

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

класс(решено)

>>> class Nume(object):
	def __str__(self):
		return "Str",self.n
	def __repr__(self):
		return "Repr",self.n
	def __init__(self,numero):
		self.n = numero
	def __add__(self, other):
		if isinstance(other, Nume):
			return Nume(self.n + other.n)
		
>>> 
>>> a = Nume(3)
>>> b = Nume(7)
>>> a+b
Repr 10
>>> print a+b
Str 10
>>> 

Офлайн

#3 Июнь 21, 2013 00:17:31

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

класс(решено)

Кстати надо подсвечивать код на форуме по ссылке ниже vvvv

Отредактировано Singularity (Июнь 21, 2013 00:18:09)

Офлайн

#4 Июнь 21, 2013 00:19:51

Michail_V
Зарегистрирован: 2013-06-19
Сообщения: 13
Репутация: +  -1  -
Профиль   Отправить e-mail  

класс(решено)

спс а где можно на русском почитать о всех встроенных протоколах классов? (таких как __str__ и др.)

Отредактировано Michail_V (Июнь 21, 2013 00:26:11)

Офлайн

#5 Июнь 21, 2013 00:32:14

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

класс(решено)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version