Python 关于类和init方法
我几天前刚刚开始编写代码,在OOP和类部分遇到了一些麻烦。我们是否总是需要Python 关于类和init方法,python,Python,我几天前刚刚开始编写代码,在OOP和类部分遇到了一些麻烦。我们是否总是需要\uuuu init\uuu方法?如果没有,我们什么时候不需要 不,你不是被迫写的。 当您在初始化时实际设置变量及其值时,只需要一个 也就是说,在99%的时间里,您希望设置传递给您的变量,或者甚至设置一些默认值 class A(object): pass class B(object): def __init__(self, foo): self.foo = foo someA = A(
\uuuu init\uuu
方法?如果没有,我们什么时候不需要 不,你不是被迫写的。
当您在初始化时实际设置变量及其值时,只需要一个
也就是说,在99%的时间里,您希望设置传递给您的变量,或者甚至设置一些默认值
class A(object):
pass
class B(object):
def __init__(self, foo):
self.foo = foo
someA = A() #creates an object of type A, with no custom variables or methods
someB = B('bar') #creates an object of type B, in which foo is set
注意,从对象继承称为新样式类,应该这样做。这不是强制性的…很好的解释。但有一点需要注意:在Python3中,即使您没有继承自
对象
,您仍然会得到一个新样式的类。另外,可能值得指出的是,(在一个新样式的类中)如果您没有编写\uuu init\uuuuu
,您仍然有一个继承自对象的类,并且它什么都不做,但您仍然可以看到它,调用它,等等。