def __init__(self)
时间: 2023-10-31 08:06:13 浏览: 75
def __init__(self)是Python中的一个特殊方法,用于在创建对象时进行初始化。它是一个构造函数,当一个对象被创建时,它会自动调用__init__方法。在这个方法中,可以为对象设置属性和执行其他必要的初始化操作。与__new__方法不同,__init__方法不返回任何值,它只是在对象创建后立即调用。
相关问题
class Master1(object): def __init__(self): self.a = 100 class Master2(object): def __init__(self): self.b = 200 class Sub(Master1,Master2): def __init__(self): pass def show(self):
这是一个 Python 的类继承的示例,Sub 类继承了 Master1 和 Master2 两个类的属性和方法,但是在自己的 __init__ 方法中没有做任何事情,因此 show 方法也没有实现。如果需要使用 Sub 类,可以在其实例化时传入必要的参数,并在其方法中实现相应的逻辑。
写出下列程序的运行结果:class A: def__new__(self): self.__init__(self) print("A's__new__()invoked") def__init__(self): print("A's__init__()invoked") class B(A): def__new__(self): print("B's__new__()invoked") def__init__(self): print("B's__init__()invoked") def main(): b=B() a=A() main()
这段程序存在语法错误,正确的写法应该是:
```python
class A:
def __new__(self):
self.__init__()
print("A's __new__() invoked")
def __init__(self):
print("A's __init__() invoked")
class B(A):
def __new__(self):
print("B's __new__() invoked")
def __init__(self):
print("B's __init__() invoked")
def main():
b = B()
a = A()
main()
```
程序的运行结果是:
```
B's __new__() invoked
B's __init__() invoked
A's __new__() invoked
A's __init__() invoked
```
首先创建了一个 `B` 类的实例 `b`,调用了 `B` 类的 `__new__()` 方法和 `__init__()` 方法。`B` 类的 `__new__()` 方法仅仅打印了一句话,`B` 类的 `__init__()` 方法打印了一句话。
接着创建了一个 `A` 类的实例 `a`,调用了 `A` 类的 `__new__()` 方法和 `__init__()` 方法。`A` 类的 `__new__()` 方法调用了 `__init__()` 方法,打印了一句话,然后自己打印了一句话。
因此,程序的输出结果是:
```
B's __new__() invoked
B's __init__() invoked
A's __new__() invoked
A's __init__() invoked
```
阅读全文