__init__ 构造函数
__repr__ 返回实际存储内容。如果是中文则打印实际存储内容,而非中文,如下示例,'中国'是由4个16进制字符组成,其length为4
>>> print repr('中国')
'\xd6\xd0\xb9\xfa'
>>> print len('中国')
4
__str__功能与__repr__类似,两个方法都存在,在print obj时候会优先执行该方法。不同的地方,str() 会优化打印效果,也就是说print obj的内容可能并非真实存储内容,如下:
# 两个中国一个是16进制编码,一个是unicode编码。尽管存储内容不一样,但print出来是一样的
>>> print '中国'
中国
>>> print u'中国'
中国
>>> print repr('中国')
'\xd6\xd0\xb9\xfa'
>>> print repr(u'中国')
u'\u4e2d\u56fd'
# 两种编码存储的长度也不一样
>>> print len('中国')
4
>>> print len(u'中国')
2
__eq__对象比较时候会调用。比如:元素放入set中
__hash__对象放入set()中会调用对象这个方法,用来决定放到哪个桶中
__iter__ 实现这个方法则当前class将可以使用for in 进行迭代
--未完