2012-03-08 83 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

相关问题