Я вижу много хороших ответы здесь. Однако, если вы хотите создать свой собственный тип, как вы упомянули, вы можете посмотреть на Python Data model documentation. В нем объясняется, как создавать классы с настроенными поведением, например emulating numeric types.
С помощью этой информации, вы могли бы сделать класс следующим образом:
class Num:
def __init__(self, n):
self.n = (n % 256)
def __repr__(self):
return repr(self.n)
def __add__(self, other):
return Num(self.n+int(other))
# transform ourselves into an int, so
# int-expecting methods can use us
def __int__(self):
return self.n
Затем вы можете сделать что-то вроде этого:
>>> a = Num(100)
>>> print a
100
>>> b = a + 50
>>> print b
150
>>> c = Num(200)
>>> d = a + c
>>> print d
44
Я понимаю, что вы можете поддерживать больше операций, чем I 've показано в Num
, но из этого примера и документации должно быть достаточно ясно, как их добавить.
делает модуль оператор помощи? myVar + = 1; myVar = myVar% 256 – mawimawi