跳转到内容

面向对象编程/构造函数

来自维基教科书,开放的书籍,开放的世界

什么是构造函数?

[编辑 | 编辑源代码]

在面向对象编程中,构造函数是在创建新类对象时执行的函数。此子例程确保类被正确实例化。构造函数首先检查是否有足够的资源(内存)来创建新对象,然后分配内存。之后,构造函数可以执行由程序员可选提供的自定义代码。如果每个类在创建时都传递了数据,这将非常有用,从而使每个类都独一无二。可以使用构造函数将传递的参数分配给类内的特定属性,如果需要,还可以调用其他类方法在构造函数内进行数据操作。重要的是要注意,构造函数每个对象只调用一次,因此一旦类被实例化,构造函数将不再用于该类的特定实例。

Class.py
class Values():

  def __init__(self, value):
    self.value = squared(value)

  def squared(self, value):
    self.value = self.value * self.value
Main.py
from Class.py import Values

instance = Values(4)
print(instance.value())

# Output: 16

从上面的例子可以看出,我们有一个__init__函数。在Python中,这是程序员控制的类构造函数方面。此示例显示构造函数获取传入的值,并将其平方。所有这些都在类被实例化时完成,没有方法被Main.py直接调用。当有传入值时,构造函数非常方便,当类被实例化时,以及当这些传入值必须在使用之前进行操作时。

华夏公益教科书