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__