__new__ : First run this methos when the class object is created!
__init__ : Construtor of a class. You can send parameter to your class with __init__ method.
__del__ : Deconstructor method of the class. But this method is not secure to use a garbage collector. It is not guarantee when the object is deleted.
from os.path import join
class FileObject:
'''Wrapper for file objects to make sure the file gets closed on deletion.'''
def __init__(self, filepath='~', filename='sample.txt'):
# open a file filename in filepath in read and write mode
self.file = open(join(filepath, filename), 'r+')
def __del__(self):
self.file.close()
del self.file
__cmp__ : compare opeartiob method for an object
__eq__ : equality operation method for a object
__ne__ : not equeal
__lt__ : less-than
__gt__ : greater-than
__le__ : less-then-or-equal
__ge__ : greater-then-or-equal
class Word(str):
'''Class for words, defining comparison based on word length.'''
def __new__(cls, word):
# Note that we have to use __new__. This is because str is an immutable
# type, so we have to initialize it early (at creation)
if ' ' in word:
print "Value contains spaces. Truncating to first space."
word = word[:word.index(' ')] # Word is now all chars before first space
return str.__new__(cls, word)
def __gt__(self, other):
return len(self) > len(other)
def __lt__(self, other):
return len(self) < len(other)
def __ge__(self, other):
return len(self) >= len(other)
def __le__(self, other):
return len(self) <= len(other)
__pos__ : implement behaviour for unary positive (eg.: +some_object)
__neg__ : implement behaviour for negation (eg.: -some_object)
__abs__ : implement behaviour for built-in abs() function
__invert__ : implement behaviour for bitwise invertion (eg.: ~some_object)
__round__ : implement behaviour for built-in round() function
__floor__ :
__ceil__ :
__trunc__ :
__add__ : implement addition
__sub__ : implement substract
__mul__ : implement multiplication
__floordiv__ : implement integer division with // operator
__div__ : implement division with / operator
__truediv__ : Implements true division. Note that this only works when from __future__ import division is in effect.
__mod__: implement modulo with % operator
__divmod__ : Implements behavior for long division using the divmod() built in function.
__pow__ : implement exponention, using with ** operator
__lshift__ : implement bitwise left shifting, usng with << operator
__rshift__ : implement bitwise right shifting, usng with >> operator
__and__ : implement bitwise and operator, using with & operator
__or__ : implement bitwise or, using with | opeartor
__xor__ : implement bitwise xor, using with ^ operator
You can use addition like that some_object + other_object on Normal Arithmetic Operation. The same thing, with Reflected Arithmetic Operation, you can use like that other_object + some_object. In two example, magis operator function is in some_object object class.
__radd__ : implement addition
__rsub__ : implement substract
__rmul__ : implement multiplication
__rfloordiv__ : implement integer division with // operator
__rdiv__ : implement division with / operator
__rtruediv__ : Implements true division. Note that this only works when from __future__ import division is in effect.
__rmod__: implement modulo with % operator
__rdivmod__ : Implements behavior for long division using the divmod() built in function.
__rpow__ : implement exponention, using with ** operator
__rlshift__ : implement bitwise left shifting, usng with << operator
__rrshift__ : implement bitwise right shifting, usng with >> operator
__rand__ : implement bitwise and operator, using with & operator
__ror__ : implement bitwise or, using with | opeartor
__rxor__ : implement bitwise xor, using with ^ operator
__iadd__ : implement addition
__isub__ : implement substract
__imul__ : implement multiplication
__ifloordiv__ : implement integer division with // operator
__idiv__ : implement division with / operator
__itruediv__ : Implements true division. Note that this only works when from __future__ import division is in effect.
__imod__: implement modulo with % operator
__idivmod__ : Implements behavior for long division using the divmod() built in function.
__ipow__ : implement exponention, using with ** operator
__ilshift__ : implement bitwise left shifting, usng with << operator
__irshift__ : implement bitwise right shifting, usng with >> operator
__iand__ : implement bitwise and operator, using with & operator
__ior__ : implement bitwise or, using with | opeartor
__ixor__ : implement bitwise xor, using with ^ operator