Python 中的 __init__

2024 年 8 月 29 日 | 4 分钟阅读

如果您使用过面向对象编程,您可能经常遇到“init”这个词。__init__ 是 Python 中的一个方法。它类似于 Java 和 C++ 等语言中的构造函数。了解 Python 中的类和对象将使 __init__ 方法易于理解。

一些先备知识

  • 类是具有声明变量、属性和方法的蓝图。我们必须创建对象才能使用新生成的类。
  • 我们可以使用对象访问声明的属性并调用类的各种方法。
  • 每个对象都可以拥有类属性的不同值。在创建对象时,我们可以将所需的值作为参数传递。

这是一个类和对象的简单示例

输出

Planet
Solar  system
I'm earth
I'm a planet in Solar system

分析

创建了一个名为 Planet 的类。在类中

  • 声明了两个变量 var1 和 var2。
  • 我们创建了一个函数,它使用类中声明的变量打印两个字符串。

创建 Earth 对象后,我们在没有提供任何输入的情况下使用了类的两个变量和方法。

  • 我们创建的对象没有自己的变量。

现在,类中的 self 是什么?

当在创建类的对象后调用函数时,self 会被新生成的对象替换。它充当对象的占位符。我们创建的所有对象都在我们构造的类中共享两个变量。因此,即使我们使用对象的名称来调用变量,我们仍然会得到相同的结果。

现在让我们来看看 '__init__' 的功能。

  • 如前所述,每个对象都可以拥有类属性的不同值。__init__ 方法可以实现此功能。
  • 它是一个构造函数,允许类包含具有不同值的对象。
  • 它不一定是以常规方式调用的。它类似于类方法。一旦为类创建了对象,它就会被执行。

让我们现在使用 __init__ 方法来看上面的例子

输出

I am earth
I am the 3 planet in the solar system

理解

  • 当我们创建对象时,我们向它传递了参数。
  • 如前所述,创建对象时
  • __init__ 方法被执行。
  • 新生成的对象被用作 'self' 的替代。

当创建 'earth' 对象时

这是 __init__ 方法的内部工作原理。

这样,地球行星就可以拥有自己的特征了。

如果我们现在创建另一个对象

输出

I am earth
I am the 3 planet in the solar system
I am venus
I am the 2 planet in the solar system

因此,我们可以创建无限数量的对象,每个对象都具有独特的属性值集。

Python 面向对象编程中的 __init__ 方法具有这些功能。

让我们再看一个例子

  • 我们可以接受用户的输入作为值,然后将这些值作为属性传递给对象。

输出

Please enter the name of the student1: Jeevani
Please enter the age of the student1: 19
Please enter the name of the student2: Harini
Please enter the age of the student2: 15
Stud_1.name = Jeevani
Stud_2.name = Harini

理解

我们在程序中创建了一个名为“Student”的类,它具有以下三个属性:姓名、年龄和电子邮件。我们在 __init__ 方法中使用 self 变量定义了属性。创建了两个对象?stud 和 stud2?。我们已经为这两个对象提供了电子邮件属性的值,并请求了

用户输入姓名和年龄属性,然后将值传递给对象。

注意

  • 一个类中可以包含任意数量的对象、属性和函数。但是,一个类只能有一个显式的 __init__ 方法。
  • 即使我们编写了多个 __init__ 方法,最新的一个也总是会替换旧的。

下一个主题Python中的__dict__