在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
在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