Python学习记录九

 

一、构造方法和析构方法函数

  def __init__(self, value = 42):
    self.someValue = value对象

  def __del__get

二、调用未绑定的超类方法
  1) 直接在子类方法中调用父类方法
      def __init__(self):
      Bird.__init__(self):it

  2) 使用super函数io

      __metaclass__=type # super函数只在新式类中起做用

      def __init__(self):
        super(Songbird, self).__(init)__()

三、基本的序列和映射规则

    __len__(self): 返回集合中所含项目的数量
    __getitem__(self.key):返回与所给键对应的值
    __setitem__(self, key, value):按必定的方式存储和key相关的value
    __delitem__(self,key):对比一部分对象操做时,必须删除和元素相关的键;对可修改对象操做时,并非删除所有的对象,只是删除一些须要移除的元素class

四、属性
  (1)property 函数

      __metaclass__=type基础

      class Rectangle:
        def __init__(self):
          self.width = 0
          self.height = 0
        def setSize(self, size):
          self.width, self.height = size
        def getSize(self):
          return self.width, self.heightmeta

        size = property(getSize, setSize) yield

五、迭代器

  __iter__ : 迭代器规则的基础
  __iter__方法返回一个迭代器,所谓的迭代器就是具备next方法(这个方法在调用时不须要任何参数)的对象。在调用next方法时,迭代器会返回它的下一个值;若是迭代器被调用,可是迭代器没有值能够返回,就会引起一个StopIteration异常
迭代器

  class Fibs:
    def __init__(self):
      self.a = 0
      self.b = 1

    def next(self):
      self.a, self.b = self.b, self.a+self.b
      return self.a

    def __iter__(self):
      return self

#调用
fibs = Fibs()
for f in fibs:
print f
if f > 1000:
break

六、生成器 任何包含yield语句的函数成为生成器。每次产生一个值(使用yeild语句),函数就会被冻结:即函数停在那点等待被激活。函数被激活后就从中止的那里开始执行

相关文章
相关标签/搜索