saundy 发表于 2017-5-1 06:19:29

python中的内置方法

  __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 进行迭代
  --未完
页: [1]
查看完整版本: python中的内置方法