回覆列表
  • 1 # 指尖時

    在python2中,如果定義類時繼承了object,那麼例項化後物件的type就是該類

    >>> class Apple(object): pass...>>> red_apple = Apple()>>> type(red_apple)

    但如果定義類的時候沒有繼承object,例項化後物件的type將會是 instance

    >>> class Apple(): pass...>>> green_apple = Apple()>>> type(Apple)

    去看urllib2的原始碼,你會發現build_opener返回的物件是從這個東西繼承而來的:

    class BaseHandler:

    def add_parent(self, parent):

    self.parent = parent

    def close(self):

    self.parent = None

    它沒有繼承object,所以,它的type是instance

    繼承object的類的寫法叫做 New-style classes,是在 python 2.2 中引入的,之前的寫法被稱作 Old clasess或 Classic classes,關於兩者的區別可以參考New-style and classic classes

  • 中秋節和大豐收的關聯?
  • 個人簡歷主修課程怎麼寫?