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語句),函數就會被凍結:即函數停在那點等待被激活。函數被激活後就從中止的那裏開始執行

相關文章
相關標籤/搜索