📜  python: dunder init 方法 - Python (1)

📅  最后修改于: 2023-12-03 14:46:19.830000             🧑  作者: Mango

Python: Dunder Init 方法

在 Python 中,__init__ 方法被称为构造函数。当创建一个新的对象时,此方法会自动调用。__init__ 方法允许程序员为对象设置初始值。

使用示例
class MyClass:
    def __init__(self, arg1, arg2):
        self.arg1 = arg1
        self.arg2 = arg2
        print("MyClass对象已经被创建")

my_object = MyClass("hello", 123)

在上面的示例中,我们为 MyClass 创建了一个新的对象,并向其传递了两个参数:"hello"123__init__ 方法使用这些参数来初始化对象的属性。最后,__init__ 方法使用 print 语句输出文本字符串。

运行以上代码, 将得到以下输出:

MyClass对象已经被创建
针对繼承的应用

__init__ 方法在继承中也可以非常有用。当子类继承父类时,子类可以覆盖父类的 __init__ 方法,并添加自己的初始化代码。

以下是一个简单的示例:

class Parent:
    def __init__(self, name):
        self.name = name
        print("父类对象已经被创建")

class Child(Parent):
    def __init__(self, name, age):
        Parent.__init__(self, name)
        self.age = age
        print("子类对象已经被创建")

my_object = Child("小明", 10)

在这个示例中,Child 类继承了 Parent 类,并覆盖了它的 __init__ 方法。然后,子类通过调用父类的 __init__ 方法来初始化 name 属性,然后添加 age 属性并使用 print 语句输出文本字符串。

运行以上代码, 将得到以下输出:

父类对象已经被创建
子类对象已经被创建

如上所述,当使用继承时,子类可以覆盖父类的 __init__ 方法并添加自己的初始化代码。

结论

__init__ 方法是 Python 中的一个强大的特性。当创建一个新的对象时,它会自动调用构造函数,并使用初始化参数为对象设置属性。通过使用继承,开发人员可以轻松地编写具有相同基础代码的类,并根据需要添加自己的初始化逻辑。