python 自学笔记20151214 定制类

来源:互联网 发布:4000三个月淘宝代运营 编辑:程序博客网 时间:2024/06/05 17:39

定制类

  • __str__
    • 在类内部定义__str__方法
    • 但是直接显示调用的是__repr__,两者的区别是__str__返回的是用户看得到的字符串, 而__repr__返回程序看到的字符串,也就是说为调试服务的
    • 解决方法是重新定义一个__repr__, 但是通常两者的代码是一样的,所以可以简单写为
    • class Student(object):
      def __init__(self, name):
      self.name = name
      def __str__(self):
      return 'Student object (name=%s)' % self.name
      __repr__ = __str__

__iter__

  • 如果一个类想被用于for in 循环,类似于list tuple,就必须实现一个__iter__方法,该方法返回一个迭代对象,然后python的for循环就会不断的调用该迭代对象的__next__ 方法拿到循环的下一个值, 知道遇StopIteration错误时推出循环

__getitem__

  • 如果类要想和list一样取出其中的元素,需要实现__getitem__ 方法
  • *
0 0