2012-03-08 77 views
0

爲什麼在某些情況下會傳遞對象。什麼是需要傳遞對象作爲類參數。我知道這將是有用的裝飾器時,但除此之外任何其他必要爲此爲什麼對象傳遞是需要在類名爲python的

class MyClass(object): 
     def __init__(self): 
      self.numbers = [1,2,3,4,54] 
     def __contains__(self, key): 
      return key in self.numbers 

第二個代碼也沒有工作對象參數

class MyClass: 
     def __init__(self): 
      self.numbers = [1,2,3,4,54] 
     def __contains__(self, key): 
      return key in self.numbers 
+0

傳遞給類的參數是它繼承的類。作爲您的第一個代碼示例,我認爲始終從基本Python對象繼承是一種很好的做法。 [這個問題](http://stackoverflow.com/questions/4015417/python-class-inherits-object)問同樣的事情。 – kevintodisco 2012-03-08 06:23:17

+0

第一個叫做新風格類,第二個叫舊風格類。結算http://stackoverflow.com/q/54867/205528有關區別 – Dikei 2012-03-08 06:26:27

回答

2

類從object派生成爲new-style classes

+0

請注意,python3中沒有區別,其中所有類都是新式類 – strcat 2012-03-08 06:24:37

1

在第一個示例中,您未傳遞對象作爲參數,因此您正在從類object中製作MyClassinherit。第一個從object繼承,正在製作MyClass a new style class

相關問題