12345
python类的主要魔术方法:
1,输出方法
__str__(), __repr__(), __dir__()
2,比较运算符
__eq__(), __gt__(), __lt__(), __ge__(), __le__()
3,算术运算符
_add__(), __sub__(), __mul__(), __div__()
转换字符串 str repr unicode
在print的过程中,将对象转换为字符串,包括三种方法:
__str__:转换成适合人看的字符串
__repr__:转换成适合机器看的字符串
__unicode__
展现对象属性:__dir__
class Programer(object): def __init__(self, name, age): self.name = name if isinstance(age, int): self.age = age else: raise Exception('age must be int') def __str__(self): return '%s is %s years old' % (self.name, self.age) def __dir__(self): return self.__dict__.keys() if __name__ = '__main__': p = Programer('Albert', 25) print p print dir(p)
对象转换成字符串的魔术方法
__str__ 把对象转换成适合人看的字符串
__repr__ 把对象转换成适合机器看的字符串
__unicode__ 转换的编码
展现对象属性魔术方法 __dir__