Magic Method | When it gets invoked (example) | Explanation |
---|---|---|
new(cls [,...]) | instance = MyClass(arg1, arg2) | new is called on instance creation |
init(self [,...]) | instance = MyClass(arg1, arg2) | init is called on instance creation |
cmp(self, other) | self == other, self > other, etc. | Called for any comparison |
pos(self) | +self | Unary plus sign |
neg(self) | -self | Unary minus sign |
invert(self) | ~self | Bitwise inversion |
index(self) | x[self] | Conversion when object is used as index |
nonzero(self) | bool(self) | Boolean value of the object |
getattr(self, name) | self.name # name doesn't exist | Accessing nonexistent attribute |
setattr(self, name, val) | self.name = val | Assigning to an attribute |
delattr(self, name) | del self.name | Deleting an attribute |
getattribute(self, name) | self.name | Accessing any attribute |
getitem(self, key) | self[key] | Accessing an item using an index |
setitem(self, key, val) | self[key] = val | Assigning to an item using an index |
delitem(self, key) | del self[key] | Deleting an item using an index |
iter(self) | for x in self | Iteration |
contains(self, value) | value in self, value not in self | Membership tests using in |
call(self [,...]) | self(args) | "Calling" an instance |
enter(self) | with self as x: | with statement context managers |
exit(self, exc, val, trace) | with self as x: | with statement context managers |
getstate(self) | pickle.dump(pkl_file, self) | Pickling |
setstate(self) | data = pickle.load(pkl_file) | Pickling |